MySQL 5.7 thay đổi mật khẩu gốc

Điều gì xảy ra nếu bạn quên mật khẩu root MySQL của mình?

lựa chọn 1. Đặt lại mật khẩu root của MySQL bằng tùy chọn –init-file

Bước 1. Giết quá trình mysqld

#killall mysqld

Bước 2. Tạo một mysql-init mới  (Tôi sẽ gọi nó là pass-reset. txt) tập tin

# vim /var/lib/mysql/pass-reset.txt

Bao gồm dòng dưới đây. (Nhớ thay đổi mật khẩu mặc định – your_new_pass)

MySQL 5.7 thay đổi mật khẩu gốc

Nếu bạn đang sử dụng MySQL 5. 7. 6 trở lên

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_pass';

Nếu bạn đang sử dụng MySQL 5. 7. 5 trở về trước

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_pass');

Lưu tệp và thoát

Bước 3. Bắt đầu quy trình mysqld_safe với tệp được tạo ở Bước 2 làm đầu vào

# mysqld_safe --init-file=/var/lib/mysql/pass-reset.txt
 Starting mysqld daemon with databases from /var/lib/mysql
Note: If the above command fails with the below error message:
# Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
160524 16:42:16 mysqld ended
[1]+ Done mysqld_safe --init-file=pass-reset.txt
Sol : Look out for the detailed error message in /var/log/mysqld:
[ERROR] /usr/libexec/mysqld: File '/root/pass-reset.txt' not found (Errcode: 13)
Lookout for the file permission, as MySQL should have enough privileges to read the file.

Không thể tìm thấy tệp thực thi mysqld_safe?

Chà, bạn làm tương tự với tệp thực thi

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_pass';
0 như hình bên dưới

________số 8_______

Nếu bạn không thể bắt đầu

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_pass';
0 với tư cách người dùng root và gặp lỗi bên dưới, thì đây là cách khắc phục

# mysqld --init-file=/var/lib/mysql/pass-reset.txt
[Server] /usr/sbin/mysqld starting as process 7430
[Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
[Server] Aborting
[Server] /usr/sbin/mysqld: Shutdown complete MySQL Community Server - GPL.

Để khắc phục lỗi trên, bạn cần chỉ định người dùng mà

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_pass';
0 sẽ được bắt đầu

# mysqld --init-file=/var/lib/mysql/pass.txt --user=root

thận trọng

Nói chung, mysqld nên được chạy với tư cách người dùng 'mysql' chứ không phải người dùng 'root'. Sau khi đặt lại mật khẩu, bạn cần thoát quá trình này và khởi động MySQL bình thường

Bước 4. Chuyển đến một thiết bị đầu cuối khác và thử truy cập người dùng root MySQL bằng mật khẩu mới

# vim /var/lib/mysql/pass-reset.txt
0

Bước 5. Nếu bạn có thể đăng nhập thành công bằng mật khẩu mới, thì bạn có thể hủy quy trình mysqld_safe đã bắt đầu ở bước 3

# vim /var/lib/mysql/pass-reset.txt
1

Bước 6. Bắt đầu mysqld bình thường

# vim /var/lib/mysql/pass-reset.txt
2

Bước 7. Đăng nhập vào tài khoản root của MySQL và kiểm tra xem mọi thứ có hoạt động như mong đợi không

Bước 8. Bước này rất quan trọng. Nhớ xóa file mật khẩu đã tạo ở bước 2

# vim /var/lib/mysql/pass-reset.txt
3

Lựa chọn 2. Khôi phục/Đặt lại mật khẩu root MySQL bằng tùy chọn –skip-grant-tables

Bước 1. Dừng tất cả quá trình mysql

# vim /var/lib/mysql/pass-reset.txt
4

Bước 2. Khởi động mysqld_safe daemon với tùy chọn –skip-grant-tables. Làm như vậy sẽ không nhắc nhập mật khẩu

nếu bạn đang làm điều này trong máy chủ trực tiếp của mình với người dùng trực tiếp thì xin chúc mừng bạn là nhà phát triển CHUYÊN NGHIỆP. 😂 😂 😂

Nếu bạn không có lựa chọn nào khác, hãy đảm bảo thay đổi nó vào đêm khuya hoặc khi không có nhiều lưu lượng truy cập trong máy chủ của bạn

BƯỚC 1

Điều đầu tiên chúng ta cần làm là đăng nhập vào máy chủ của bạn và dừng dịch vụ MySQL

nếu bạn đã đăng nhập với tư cách người dùng root thì hãy nhập mã này

/etc/init.d/mysql stop


# OR
service mysql stop

Trong trường hợp bạn không phải là người dùng root nhưng có đặc quyền là root, thì chỉ cần thêm

sudo /etc/init.d/mysql stop

# OR
sudo service mysql stop
6 vào đầu lệnh

sudo /etc/init.d/mysql stop

# OR
sudo service mysql stop

Khi bạn chạy mã này, nó sẽ dừng các dịch vụ mysql của bạn và tạm thời không ai có thể kết nối với cơ sở dữ liệu của bạn

(Đảm bảo thông báo cho người đồng phát triển của bạn và các nhóm khác tham gia nếu không bạn sẽ nhận được Lỗi Vé mới 😂 )

BƯỚC 2

Chúng ta cần khởi động mysql của mình ở chế độ an toàn. Lệnh mysqld_safe có nghĩa là gì?

mysqld_safe là cách được đề xuất để khởi động máy chủ mysqld trên Unix. mysqld_safe thêm một số tính năng an toàn như khởi động lại máy chủ khi xảy ra lỗi và ghi thông tin thời gian chạy vào nhật ký lỗi. Mô tả về ghi nhật ký lỗi được đưa ra sau trong phần này

Chạy mã này bên dưới, khi chạy mysqld_safe với

sudo /etc/init.d/mysql stop

# OR
sudo service mysql stop
7, nó cho phép mọi người kết nối mà không cần mật khẩu và có tất cả các đặc quyền. Cùng với dấu và "&" để chạy lệnh ở chế độ nền

mysqld_safe --skip-grant-tables &

#OR
sudo mysqld_safe --skip-grant-tables &

BƯỚC 3

Chúng ta gần như ngang nhau rồi, cứ tiếp tục đi

MySQL 5.7 thay đổi mật khẩu gốc

Đăng nhập vào mysql của chúng tôi bằng cách chạy lệnh này, bạn sẽ thấy màn hình chào mừng của màn hình mysql

mysql -u root

MySQL 5.7 thay đổi mật khẩu gốc

BƯỚC 4

Trong bước này, chúng tôi sẽ thay đổi mật khẩu của người dùng root mysql của bạn

Nhập mã này để sử dụng bảng mysql và nhấn enter

use mysql;

Sau đó, mã để thay đổi mật khẩu root của bạn là lệnh bên dưới. Đảm bảo thay đổi "EnterYourSuperCoolPasswordHere" trước khi chạy

Hãy lưu ý, chuỗi xác thực dành cho mysql 5. phiên bản 7 lên. trong trường hợp bạn có phiên bản mysql thấp hơn, bạn có thể sử dụng cột mật khẩu để thay thế

UPDATE mysql.user SET authentication_string=PASSWORD('**EnterYourSuperCoolPasswordHere**'), plugin='mysql_native_password' WHERE User='root';

Tải lại các bảng cấp để có hiệu lực bằng lệnh bên dưới

FLUSH PRIVILEGES;

Sau đó thoát khỏi cửa sổ lệnh mysql bằng cách sử dụng

quit;

BƯỚC 5

Khởi động máy chủ mysql của bạn

sudo /etc/init.d/mysql start

# OR
sudo service mysql start

Và đăng nhập vào mysql của bạn với tư cách người dùng root bằng mật khẩu mới của bạn

mysql -u root -p

Nếu mọi thứ hoạt động, thì bạn sẽ thấy một thông báo chào mừng trong màn hình lệnh của màn hình mysql

LỖI THÔNG THƯỜNG

1). Truy cập bị từ chối;

DUNG DỊCH. Đăng nhập với quyền root mysql sau đó gõ lệnh này

sudo /etc/init.d/mysql stop

# OR
sudo service mysql stop
0

2). Thư mục mysqld_safe ‘/var/run/mysqld’ cho tệp ổ cắm UNIX không tồn tại

DUNG DỊCH

sudo /etc/init.d/mysql stop

# OR
sudo service mysql stop
1

Sau đó thử dừng hoặc bắt đầu lại mysql

3) LỖI 1524 (HY000). Plugin 'auth_socket' không được tải. Về cơ bản, chúng tôi cần đặt plugin ủy quyền trở lại mysql_native_password

DUNG DỊCH. Đăng nhập với quyền root mysql sau đó gõ lệnh này

use mysql;
sudo /etc/init.d/mysql stop

# OR
sudo service mysql stop
3_______19_______4
quit;

4) LỖI 1054 (42S22). Cột 'mật khẩu' không xác định trong 'danh sách trường'

DUNG DỊCH

Điều đó có nghĩa là bạn đang sử dụng phiên bản mã thấp cho mysql 5. 6 bên dưới. cột mật khẩu đã bị xóa khỏi mysql 5. 7 ở trên, Như tôi đã đề cập trong hướng dẫn ở trên, bạn cần sử dụng authentication_string

thì đấy

Tôi hy vọng tôi giúp bạn giải quyết vấn đề của bạn. Hãy cho tôi biết trong trường hợp bạn gặp một lỗi khác

cảm ơn. 👊 👊 👊

MySQL 5.7 thay đổi mật khẩu gốc

Nổi bật tiếp theo

Khám phá các mẹo bảo mật của chúng tôi để đảm bảo an toàn cho máy chủ và quy trình. Khám phá các mẹo bảo mật của chúng tôi để đảm bảo an toàn cho máy chủ và quy trình

thì đấy

Tôi hy vọng bạn thích hướng dẫn của chúng tôi, Hãy cho tôi biết trong trường hợp bạn gặp phải bất kỳ lỗi nào, tôi rất muốn trả lời. Đừng quên đăng ký Kênh Youtube của tôi tại Let's Code Pare - Youtube Channel

Làm cách nào để thay đổi mật khẩu root MySQL?

Để thay đổi mật khẩu gốc, hãy nhập nội dung sau tại dấu nhắc lệnh của MySQL/MariaDB. THAY ĐỔI NGƯỜI DÙNG 'root'@'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'MyN3wP4ssw0rd'; . Store the new password in a secure location.

Cách đặt lại MySQL 5. 7 mật khẩu gốc trong Centos 7?

Cách đặt lại mật khẩu gốc của MySQL .
Dừng dịch vụ MySQL/MariaDB
Khởi động máy chủ MySQL/MariaDB mà không tải các bảng cấp
Đăng nhập vào vỏ MySQL
Đặt mật khẩu gốc mới
Dừng và khởi động máy chủ cơ sở dữ liệu bình thường
xác minh mật khẩu

Làm cách nào để thay đổi mật khẩu root MySQL mà không cần mật khẩu hiện tại?

Đặt lại mật khẩu gốc MySQL .
Dừng dịch vụ MySQL. (Hệ điều hành Ubuntu và Debian) Chạy lệnh sau. sudo /etc/init. dừng d/mysql. .
Khởi động MySQL mà không cần mật khẩu. Chạy lệnh sau. .
Kết nối với MySQL. .
Đặt mật khẩu gốc MySQL mới. .
Dừng và bắt đầu dịch vụ MySQL. .
Đăng nhập vào cơ sở dữ liệu. .
Những bài viết liên quan

Làm cách nào để thay đổi mật khẩu root MySQL trong Windows bằng dòng lệnh?

Để làm như vậy, hãy làm theo các bước bên dưới. .
Bước 1. Dừng máy chủ MySQL
Bước 2. Khởi chạy Trình soạn thảo văn bản
Bước 3. Tạo một tệp văn bản mới bằng lệnh mật khẩu
Bước 4. Mở một dấu nhắc lệnh
Bước 5. Khởi động lại máy chủ MySQL với tệp cấu hình mới của bạn
Bước 6. Dọn dẹp