Câu hỏi Làm thế nào để tôi bắt đầu / dừng máy chủ mysql?


Tôi đã cố gắng tìm trong một số bài viết mô tả làm thế nào để bắt đầu một cách chính xác và dừng máy chủ mysql.

Tôi tìm thấy liên kết này: Làm thế nào để 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

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

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


182
2017-11-24 16:12


gốc


Trong thực tế, ngay cả với sudo nó đã không làm việc cho tôi, nhưng sau đó tôi tìm thấy trong kịch bản gợi ý sau đây: Thay vì gọi init script thông qua /etc/init.d, hãy sử dụng dịch vụ (8)và nó ổn - Tim
Tim là chính xác. Sử dụng sudo service 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 cấu hình trong / etc / sudoers.) Tuy nhiên tôi không biết chắc chắn nếu nó sẽ giúp đỡ trong trường hợp cụ thể này. EDIT: Chờ đợi, không bao giờ nhớ, truy cập bị từ chối lỗi trông giống như nó đến từ MySQL hoặc một cái gì đó, không sudo. - David Winiecki


Các câu trả lời:


Hai lệnh đầu tiên của bạn không được chạy dưới dạng root vì vậy đó 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 ứng là như nhau. Bạn có chắc chắn đã nhập mật khẩu chính xác không? :) Bạn đã sửa đổi cấu hình sudo của bạn ở tất cả những gì sẽ ngừng làm việc này?

Cái này..

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

Các đối số là sai. tập lệnh init.d chỉ mất start hoặc là stop hoặc là restart - chỉ một từ bảo nó phải làm gì. Bạn không thể cho nó nhiều đối số như bạn đang cố gắng làm.

Dù sao, câu trả lời ngắn là một trong những bạn thực sự có để làm việc, là cách được đề nghị. 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 sử dụng thói quen sử dụng service. Trang bạn liên kết là 3 tuổi vì vậy đã được thực hiện với một số muối :)


207
2017-11-24 16:24



Ngoài ra hãy thử sudo service mysql start
start mysql đã làm việc cho tôi (Ubuntu 12.04.4). - Tim
sudo /etc/init.d/mysql restart khởi động lại MySQL cho tôi - Edward
làm thế nào về sudo systemctl start mysql cho Ubuntu 16.04 trở lên? - Ankit Balyan


Cũng giúp kiểm tra lại rằng "mysql" là tên dịch vụ chính xác. 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: không được nhận ra dịch vụ 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 được liệt kê tên quá 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ả họ đều làm việc tốt.


73
2018-03-15 16:58



mysql: unrecognized service - Green
Ít nhất là ngày 13.10, bạn sẽ cần phải chạy nó với quyền root. ví dụ: "trạng thái mysql dịch vụ sudo". - Bryce
Đối với 14.10 tôi cần sử dụng "mysql" không phải mysqld - redanimalwar
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. - Blauhirn
Failed to start mysqld.service: Unit mysqld.service not found. - JCarlos


Dành cho Ubuntu 12.10 trở lên:

BẮT ĐẦU MYSQL:

sudo start mysql

RESTART MYSQL:

sudo restart mysql # The service must be running

STOP MYSQL:

sudo stop mysql # The service must be running

30
2017-12-15 00:04



stop: Unknown job: mysql - Green
@Green Tôi vừa thử điều này (một năm sau) và nó vẫn đang 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 đang chạy mysql để ngăn chặn điều này;) - Lucio
Anh hùng, anh cứu mạng tôi, rằng mysqld đã bị chiếm giữ bộ nhớ máy của tôi quá lâu rồi. 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
@JCarlos Do apt install upstart - Edward


Trên thực tế, tôi đã có một lỗi lạ, khi tôi cài đặt mysql-workbench trên máy Ubuntu của tôi. Sau đó tôi đã cố gắng để bắt đầu dịch vụ mysql bằng cách sử dụ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 không được cài đặt, vì vậy tôi đã cài đặt nó và sự cố 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, khởi động máy chủ MySQL dưới dạng:

service mysql start

8
2017-11-28 16:41





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

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

2
2018-02-01 12:04





Một kịch bản nhỏ để bao gồm 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
2017-07-04 15:46





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 mysql dịch vụ $

nếu dịch vụ xuống chỉ thực hiện điều này:

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

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

$ mysql stop dịch vụ


0
2017-07-26 08:42



/etc/init.d/mysql start và service mysql start hoàn toàn giống nhau. - storm


Tôi đã có cùng một vấn đề với Ubuntu64 và tôi cố định bằng cách đơn giản là không sử dụng systemctl nhưng thay vào đó:

sudo service mysql restart

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


0
2018-04-26 14:24