Vô tình tự khóa mình khỏi MySQL bằng cách thay đổi máy chủ


8

Trong khi cố gắng để MySQL từ xa hoạt động, bằng cách nào đó tôi đã tự khóa được tài khoản root.

Thông thường, tôi sẽ dừng dịch vụ MySQL và khởi động lại bằng cách sử dụng /etc/init.d/mysql --init-file, nhưng khi tôi cố gắng làm điều đó, nó nói rằng tập lệnh đã được chuyển đổi thành một công việc mới nhất và sử dụng lệnh "dịch vụ mysql". Thật không may, theo như tôi biết, servicelệnh không hỗ trợ --init-filetùy chọn.

Có cách nào khác để thiết lập lại máy chủ cho người dùng root không?


Câu trả lời:


9

Dừng MySQL:

service mysqld stop

sau đó khởi động MySQL như thế này

mysqld_safe --skip-grant-tables --skip-networking

Tại thời điểm này, bạn sẽ có thể kết nối với mysql (từ máy cục bộ) với quyền root.


1
Bạn cũng có thể service mysqld restart --skip-grant-tables --skip-networking. Sau đó, sau khi sửa root , service mysql restart. Tuy nhiên, +1 !!!
RolandoMySQLDBA

1

Cuối cùng, tùy chọn đó sẽ được chuyển đến mysqld_safe; các tài liệu mô tả chi tiết này. Bạn có thể khám phá cách khởi động đang gọi MySQL và sau đó khởi động thủ công theo cách tương tự với --init-filetùy chọn đã thêm của bạn . Tuy nhiên, hãy chắc chắn rằng bạn khởi động nó như một người dùng phù hợp!

Nếu bạn đang sử dụng Debian hoặc Ubuntu, có thể bạn sẽ thấy rằng có một debian-sys-maintngười dùng tương đương gốc mà bạn có thể sử dụng tạm thời; bạn sẽ tìm thấy mật khẩu được tạo tự động cho điều đó /etc/mysql/debian.cnf. Có thể có sự thay thế trên các hệ thống khác, quá? Tùy chọn này có thể sẽ dễ dàng hơn,

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.