ServerPilot cấu hình MySQL để quản lý cơ sở dữ liệu trên máy chủ của bạn. Thông thường, khi đăng nhập vào SSH bằng root người dùng, bạn chỉ cần nhập nội dung sau tại dấu nhắc dòng lệnh (SSH) để truy cập MySQL:
mysql
Lệnh này sẽ tự động tham chiếu đến tệp chứa root của MySQL mật khẩu MySQL của người dùng nên bạn không cần phải nhập. Mật khẩu gốc cho MySQL được chứa trong tệp này:
/root/.my.cnf
Nếu bạn cần thay đổi mật khẩu đó vì bất kỳ lý do gì, bạn cần thực hiện một số bước. Xin lưu ý rằng có hai quy trình khác nhau ở đây:Một cho tình huống mà mật khẩu MySQL gốc hiện đang hoạt động và một cho mật khẩu MySQL gốc không hoạt động.
Lưu ý:Nhật ký lỗi MySQL là một nơi tốt để tìm các vấn đề với MySQL và nằm ở đây:
/var/log/mysql/error.logCảnh báo! Chúng tôi khuyên bạn nên chụp ảnh nhanh máy chủ trước khi thực hiện các tác vụ như thế này.
Thay đổi mật khẩu gốc MySQL đang hoạt động
Phần này bao gồm việc thay đổi mật khẩu gốc MySQL đang hoạt động, nghĩa là bạn có thể đăng nhập vào MySQL với tư cách là root người dùng chỉ cần gõ mysql tại dấu nhắc SSH. Sẽ không có bất kỳ thời gian chết nào cho quá trình này nếu các bước này được tuân thủ.
Đăng nhập vào SSH với tư cách là root người dùng, sau đó đăng nhập vào MySQL bằng cách gõ:
mysql
Tại lời nhắc MySQL, hãy nhập nội dung sau, nhưng thay thế put-your-new-password-here với mật khẩu thực tế bạn muốn sử dụng. Bạn cần để lại các dấu ngoặc kép xung quanh mật khẩu mới. Vui lòng ghi lại mật khẩu vì bạn sẽ cần phải nhập mật khẩu vào một tệp trong bước tiếp theo.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
Thoát MySQL bằng cách nhập:
quit
Tiếp theo, bạn sẽ cần cập nhật tệp có chứa root của MySQL mật khẩu của người dùng để bạn có thể SSH vào máy chủ của mình dưới dạng root và chạy mysql witout lệnh nhập mật khẩu.
sudo nano /root/.my.cnfĐể biết thêm thông tin về cách sử dụng nano trình soạn thảo văn bản, vui lòng xem hướng dẫn của chúng tôi.
Cập nhật trường mật khẩu thành mật khẩu mới mà bạn đã nhập ở trên, lưu và thoát khỏi trình soạn thảo văn bản.
Cuối cùng, hãy kiểm tra để đảm bảo mật khẩu mới hoạt động:
mysql
Đã hoàn tất!
Thay đổi mật khẩu gốc MySQL bị mất hoặc không hoạt động
Phần này bao gồm việc lấy lại quyền truy cập root vào MySQL khi gặp lỗi này:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)Cảnh báo! Quá trình này sẽ đưa MySQL ngoại tuyến trong một khoảng thời gian ngắn; tốt nhất bạn nên thực hiện việc này trong giờ thấp điểm, khi người dùng của bạn sẽ ít bị ảnh hưởng nhất.
Đăng nhập vào máy chủ của bạn qua SSH với tư cách là root người dùng và dừng MySQL bằng cách nhập:
sudo service mysql stop
Sau đó chạy lệnh sau:
sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld
Nó sẽ không trả về bất kỳ đầu ra nào. Khởi động MySQL vào một chế độ đặc biệt bằng cách nhập sau:
sudo mysqld --skip-grant-tables --skip-networking &
Đầu ra của nó phải tương tự như bên dưới, mặc dù số hiển thị sẽ khác:
sudo mysqld --skip-grant-tables --skip-networking & [1] 14744
Sau đó, bạn sẽ được đưa trở lại lời nhắc SSH tiêu chuẩn. Bây giờ, hãy nhập thông tin sau để đăng nhập vào MySQL:
mysql
Bạn sẽ không được nhắc nhập mật khẩu và mật khẩu sẽ giống như sau:
~# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective Owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Đưa ra lệnh sau sẽ cho phép bạn thay đổi mật khẩu:
FLUSH PRIVILEGES;
Kết quả là:
Query OK, 0 rows affected (0.00 sec)
Tiếp theo, chúng tôi đặt lại mật khẩu thực bằng cách thay đổi put-your-new-password-here mật khẩu thực của bạn. Vui lòng ghi lại mật khẩu bạn đã đặt, vì chúng tôi sẽ cần nhập mật khẩu đó vào /root/.my.cnf gửi khi chúng tôi hoàn tất, và vui lòng giữ lại các dấu ngoặc kép xung quanh mật khẩu mới.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
Bạn sẽ nhận được một thông báo như:
Query OK, 0 rows affected, 1 warning (0.00 sec)
Thoát MySQL bằng cách nhập:
quit
Tiếp theo, gõ lệnh sau:
sudo killall mysqld
Không có đầu ra sẽ được trả lại. Bây giờ, chúng tôi khởi động MySQL bình thường:
sudo service mysql start
Cuối cùng, nếu bạn thay đổi mật khẩu khác với mật khẩu trong /root/.my.cnf , bạn sẽ cần cập nhật tệp đó. Nếu bạn đã sử dụng cùng một giá trị, bạn không cần thực hiện bước này:
sudo nano /root/.my.cnf
Cập nhật trường mật khẩu ở đó, sau đó lưu và thoát khỏi trình soạn thảo văn bản.
Bây giờ bạn có thể đăng nhập thành công vào MySQL với tư cách là root người dùng bằng cách gõ lệnh sau:
mysql