Tùy thuộc vào phiên bản máy chủ MySQL hoặc MariaDB mà bạn đang chạy trên hệ thống của mình, bạn sẽ cần sử dụng các lệnh khác nhau để khôi phục mật khẩu gốc
Bạn có thể tìm thấy phiên bản máy chủ của mình bằng cách ban hành lệnh sau
mysql --version
Nếu bạn đã cài đặt MySQL trong hệ thống của mình, đầu ra sẽ giống như thế này
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
Hoặc xuất như thế này cho MariaDB
mysql Ver 15.1 Distrib 10.1.33-MariaDB, for debian-linux-gnu [x86_64] using readline 5.2
Đảm bảo ghi lại phiên bản MySQL hoặc MariaDB mà bạn đang chạy
Cách đặt lại mật khẩu gốc của MySQL hoặc MariaDB #
Thực hiện theo các bước sau để đặt lại mật khẩu gốc MySQL/MariaDB của bạn
1. Dừng dịch vụ MySQL/MariaDB #
Để thay đổi mật khẩu gốc trước tiên, bạn cần dừng máy chủ MySQL. Để làm như vậy gõ lệnh sau
sudo systemctl stop mysql
2. Khởi động máy chủ MySQL/MariaDB mà không cần tải các bảng cấp phép #
Khởi động máy chủ cơ sở dữ liệu mà không tải các bảng cấp
sudo mysqld_safe --skip-grant-tables &
Dấu và
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
4 ở cuối lệnh trên sẽ khiến chương trình chạy ẩn, vì vậy bạn có thể tiếp tục sử dụng trình baoKhi tùy chọn
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
5 được sử dụng, bất kỳ ai cũng có thể kết nối với máy chủ cơ sở dữ liệu mà không cần mật khẩu và với tất cả các đặc quyền được cấp3. Đăng nhập vào vỏ MySQL #
Bây giờ bạn có thể kết nối với máy chủ cơ sở dữ liệu với tư cách là người dùng root
mysql -u root
4. Đặt mật khẩu gốc mới #
Chạy các lệnh sau nếu bạn chạy MySQL 5. 7. 6 trở lên hoặc MariaDB 10. 1. 20 trở về sau
________số 8Nếu câu lệnh
6 không phù hợp với bạn, hãy thử sửa đổi trực tiếp bảng người dùngmysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
0mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
Chạy các lệnh sau nếu bạn có MySQL 5. 7. 5 trở về trước hoặc MariaDB 10. 1. 20 trở về trước
1mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
Trong cả hai trường hợp nếu mọi việc suôn sẻ, bạn sẽ thấy đầu ra sau
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
25. Dừng và Khởi động máy chủ cơ sở dữ liệu bình thường #
Bây giờ mật khẩu gốc đã được đặt, dừng máy chủ cơ sở dữ liệu và khởi động bình thường
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
0Bạn sẽ được nhắc nhập mật khẩu gốc mới
Khởi động máy chủ cơ sở dữ liệu bình thường
Đối với MySQL, gõ
1mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
Đối với MariaDB, hãy nhập
2mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
6. Xác minh mật khẩu #
Để xác minh rằng mật khẩu gốc mới đã được áp dụng chính xác, hãy nhập
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
3Bạn sẽ được nhắc nhập mật khẩu gốc mới. Nhập nó và bạn sẽ đăng nhập vào máy chủ cơ sở dữ liệu của mình
Sự kết luận #
Chúng tôi đã chỉ cho bạn cách đặt lại mật khẩu gốc MySQL/MariaDB của bạn. Đảm bảo mật khẩu gốc mới của bạn mạnh và an toàn và giữ mật khẩu ở nơi an toàn
Để đặt lại MySQL 5. 7 mật khẩu root trên máy chủ CentOS 7, hãy làm như sau
Dừng máy chủ MySQL
1
systemctl stop mysqld
Đặt môi trường MySQL MYSQLD_OPTS để khởi động MySQL với –skip-grant-tables
1
systemctl đặt - môi trường MYSQLD_OPTS="--skip-grant-tables"
Bắt đầu MySQL với –skip-grant-tables
1
systemctl start mysqld
Đăng nhập với tư cách người dùng root
1
mysql - u root
Cập nhật mật khẩu root MySQL
1
THAY ĐỔI NGƯỜI DÙNG 'root'@'localhost' IDENTIFIED BY 'NEW_MYSQL_PASSWORD_HERE';
Hoặc
1
2
CẬP NHẬT mysql. người dùng SET authentication_string = PASSWORD['NEW_MYSQL_PASSWORD_HERE'] WHERE User = 'root' AND Host = 'localhost';
FLUSH ĐẶC QUYỀN;
Thoát dấu nhắc lệnh MySQL
1
từ bỏ
Dừng máy chủ MySQL
1
systemctl stop mysqld
Bỏ đặt tùy chọn môi trường MySQL
1
systemctl bỏ đặt - môi trường MYSQLD_OPTS
Khởi động MySQL bình thường
1
systemctl start mysqld
Bây giờ bạn sẽ có thể đăng nhập bằng mật khẩu gốc MySQL mới bằng cách sử dụng
1
mysql - u root - p
Xem Đặt lại mật khẩu gốc MySQL, mysqld_safe. lệnh không tìm thấy