Làm cách nào để bắt đầu / dừng máy chủ mysql?


211

Tôi đã cố gắng tìm trong một số bài viết mô tả cách khởi động và dừng máy chủ mysql một cách chính xác.

Tôi tìm thấy liên kết này: Cách khởi động / dừng máy chủ MySql trên Ubuntu 8.04 | Thế giới blog của Abhi

Tôi đã chạy lệnh này:

/etc/init.d/mysql start 

nhưng tôi thấy lỗi này

ERROR 1045 (28000) Access denied for user....

Sau khi tôi thử lệnh này:

sudo /etc/init.d/mysql start

Tôi đã nhập mật khẩu của mình và một lần nữa tôi thấy lỗi tương tự.

Lệnh tiếp theo:

sudo /etc/init.d/mysql - root -p start

kết quả trong:

ERROR 1049 (42000) Unknown database 'start'.

Và khi tôi chạy lệnh này:

sudo service mysql start

Máy chủ MySQL thành công bắt đầu. Mát mẻ!

Vì vậy, những gì sai với các lệnh khác? Tại sao họ dẫn đến lỗi?


3
Trên thực tế, ngay cả với sudo, nó không hoạt động với tôi, nhưng sau đó tôi đã tìm thấy trong kịch bản gợi ý sau: Thay vì gọi các tập lệnh init thông qua /etc/init.d, hãy sử dụng dịch vụ (8) và nó vẫn ổn
Timofey

2
Tim là chính xác. Sử dụng dịch vụ sudo mysql bắt đầu .
Ed Manet

Nói chung, bạn có thể sử dụng sudo -l để xem người dùng cụ thể của bạn trên hệ thống cụ thể của bạn được phép làm gì với sudo. (Quyền của bạn được định cấu hình trong / etc / sudoers.) Tuy nhiên tôi không biết chắc chắn liệu nó có giúp ích trong trường hợp cụ thể này không. EDIT: Đợi đã, đừng bận tâm, lỗi truy cập bị từ chối có vẻ như đến từ MySQL hoặc một cái gì đó, không phải sudo.
David Winiecki

Câu trả lời:


230

Hai lệnh đầu tiên của bạn không chạy dưới dạng root nên đó là hành vi được mong đợi. Bạn cần phải root để dừng / khởi động mysql.

Tuy nhiên:

sudo /etc/init.d/mysql start

nên làm việc. Thật vậy, đối với tôi:

kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris: 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

Tôi đã sử dụng khởi động lại thay vì bắt đầu, vì nó đã chạy, nhưng hiệu quả là như nhau. Bạn có chắc chắn đã nhập đúng mật khẩu của mình? :) Bạn đã chỉnh sửa cấu hình sudo của bạn ở tất cả những gì sẽ dừng hoạt động này?

Cái này..

sudo /etc/init.d/mysql - root -p start

Các lập luận đều sai. một tập lệnh init.d chỉ mất starthoặc stophoặc restart- chỉ một từ cho nó biết phải làm gì. Bạn không thể đưa ra nhiều đối số như bạn đang cố gắng thực hiện.

Dù sao, câu trả lời ngắn gọn là câu bạn thực sự phải làm việc, là cách được đề xuất. serviceđang thay thế tất cả các tập lệnh init.d theo thời gian, vì vậy bạn nên tập thói quen sử dụng service. Trang bạn liên kết là 3 năm vì vậy phải được lấy một ít muối :)


7
Ngoài ra, hãy thử dịch vụ sudo mysql bắt đầu

2
start mysqllàm việc cho tôi (Ubuntu 12.04.4).
Tim

3
sudo /etc/init.d/mysql restartkhởi động lại MySQL cho tôi
Edward

6
Làm thế nào về sudo systemctl start mysqlUbuntu 16.04 trở lên?
Ankit Balyan

86

Cũng giúp kiểm tra kỹ xem "mysql" có phải là tên dịch vụ chính xác không. Trong trường hợp của tôi thì không. Tôi tiếp tục nhận được phản hồi sau: mysql: dịch vụ không được nhận dạng khi chạy

service mysql status 

Sau đó, tôi đã kiểm tra /etc/init.d và tìm thấy tập lệnh có tên mysqld liệt kê tên quy trình: mysqld và prog = mysqld

Vì vậy, sau đó tôi đã làm

service mysqld status
service mysqld stop
service mysqld start 

và tất cả đều hoạt động tốt.


4
mysql: unrecognized service
Màu xanh lá cây

7
Ít nhất là vào ngày 13.10, bạn sẽ cần chạy nó với quyền root. ví dụ: "tình trạng dịch vụ sudo mysudo".
Bryce

13
Cho 14.10 tôi cần sử dụng "mysql" chứ không phải mysql d
redanimalwar

1
Khi chạy mà không có quyền root, nó sẽ nói unknown job: mysql. một chút bối rối.
phil294

Failed to start mysqld.service: Unit mysqld.service not found.
JCarlos

30

Đối với Ubuntu 12.10 trở lên:

BẮT ĐẦU MYSQL:

sudo start mysql

MYSQL RESTART:

sudo restart mysql # The service must be running

DỪNG MYSQL:

sudo stop mysql # The service must be running

3
stop: Unknown job: mysql
Màu xanh lá cây

@Green Tôi mới thử cái này (một năm sau) và nó vẫn hoạt động. Đây là kết quả của tôi : mysql stop/waiting. Bạn phải biết rằng bạn phải chạy mysqlđể ngăn chặn điều này;)
Lucio

1
Anh hùng, anh cứu mạng tôi, mysqld đó đã chiếm bộ nhớ máy của tôi quá lâu. Tôi đã thử tất cả các loại phương pháp để loại bỏ nó, nhưng tất cả đều thất bại, cho đến khi tôi gặp câu trả lời của bạn.
Zen

sudo: start: command not found
JCarlos

1
@JCarlos Doapt install upstart
Edward

9

Trên thực tế, tôi đã gặp một lỗi lạ, khi tôi cài đặt mysql-workbench trên máy Ubuntu của mình. Sau đó, tôi đã cố gắng khởi động dịch vụ mysql bằng lệnh này:

service mysql start

Vì vậy, tôi đã nhận được giải pháp rằng máy chủ MySQL chưa được cài đặt, vì vậy tôi đã cài đặt nó và vấn đề của tôi đã được giải quyết. Lệnh để cài đặt mysql-server là:

sudo apt-get install mysql-server

Sau khi cài đặt thành công, hãy khởi động máy chủ MySQL dưới dạng:

service mysql start

4

Tôi gặp vấn đề tương tự với Ubuntu64 và tôi đã khắc phục bằng cách đơn giản là không sử dụng systemctl mà thay vào đó là:

sudo service mysql restart

Hy vọng lệnh này sẽ làm việc cho bạn.


2

Điều này sẽ làm việc cho máy chủ mysql được xây dựng thủ công:

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql

2

Sau khi cài đặt MySQL trên hệ thống của bạn, chỉ cần làm điều đó:

$ trạng thái dịch vụ mysql

nếu dịch vụ ngừng hoạt động chỉ:

$ dịch vụ mysql bắt đầu

và để dừng dịch vụ của tôi rằng:

$ dịch vụ mysql dừng


1
/etc/init.d/mysql startservice mysql starthoàn toàn giống nhau
bão

1

Tôi đã gặp phải vấn đề tương tự và tôi đã gỡ cài đặt và cài đặt lại bằng cách thực hiện theo các lệnh dưới đây:

1) sudo apt-get --purge xóa mysql-server mysql-common mysql-client

2) cập nhật sudo apt && sudo apt nâng cấp dist && sudo apt autoremove

3) sudo apt-get install -y mysql-server mysql-client


0

Một đoạn script nhỏ để bao quát cả hai trường hợp [máy chủ đang chạy / máy chủ không chạy]:

#!/bin/bash

service mysql restart
if [ "$?" != "0" ]; then
  service mysql start
fi

0

Trên Ubuntu 18.04, ổ cắm được xác định trong tệp

 /etc/mysql/mysql.conf.d/mysqld.cnf

 socket     = /var/run/mysqld/mysqld.sock

Thư mục không có mặt nên tôi đã tạo nó bằng tay như sau:

sudo mkdir -p /var/run/mysqld

Khởi động lại mysql. Điều đó đã giải quyết nó cho trường hợp của tôi ở đây.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.