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 --versionNế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 wrapperHoặ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 mysql2. Khởi động máy chủ MySQL/MariaDB mà không tải các bảng cấ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 bao
Khi 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ấp
3. Đă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 root4. Đặ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ố 8_______Nếu câu lệnh mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper 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ùng
UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')WHERE User = 'root' AND Host = 'localhost';FLUSH PRIVILEGES;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
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');FLUSH PRIVILEGES;
Trong cả hai trường hợp nếu mọi việc suôn sẻ, bạn sẽ thấy đầu ra sau
Query OK, 0 rows affected (0.00 sec)5. 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õ
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper 1Đối với MariaDB, hãy nhập
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper 2
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
Phần 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
MySql
Đặt lại mật khẩu gốc MySQL
chúng ta phải bắt đầu dịch vụ MySQL với tùy chọn # systemctl stop mysqld.service # for distros using systemd (centos7) # /etc/init.d/mysqld stop # for distros using init (centos6, ubuntu14 etc)2. Điều này kém an toàn hơn vì trong khi dịch vụ được bắt đầu, tất cả người dùng có thể kết nối mà không cần mật khẩu
Nếu máy chủ khởi động # systemctl stop mysqld.service # for distros using systemd (centos7) # /etc/init.d/mysqld stop # for distros using init (centos6, ubuntu14 etc)2, thì tùy chọn cho # systemctl stop mysqld.service # for distros using systemd (centos7) # /etc/init.d/mysqld stop # for distros using init (centos6, ubuntu14 etc)4 sẽ tự động được kích hoạt nên sẽ không có kết nối từ xa
bước 1. kiểm tra cơ sở dữ liệu phiên bản hiện tại
[root@lampblogs ~]# mysql --version mysql Ver 8.0.16 for Linux on x86_64 (MySQL Community Server - GPL)bước 2. dừng phục vụ
# systemctl stop mysqld.service # for distros using systemd (centos7) # /etc/init.d/mysqld stop # for distros using init (centos6, ubuntu14 etc)bước 3. bắt đầu dịch vụ
bắt đầu dịch vụ với tùy chọn bên dưới
# mysqld --skip-grant-tables --user=mysql &Sau đó, chúng ta có thể kết nối máy chủ mysql
# mysqlbước 4. Xóa đặc quyền và thay đổi mật khẩu
sau khi đăng nhập mà không có mật khẩu, chúng tôi sẽ phải tải lại các khoản trợ cấp
# FLUSH PRIVILEGES;Chạy truy vấn sau để cập nhật mật khẩu. Đảm bảo thay đổi “newpassword” bằng mật khẩu thực