CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết trên blog CFSDN này giới thiệu cách reset mật khẩu root của MySQL trong Windows được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.
Hôm nay tôi phát hiện ra rằng WordPress không thể kết nối với cơ sở dữ liệu. Tôi đã đăng nhập vào máy chủ windows và kiểm tra xem tất cả các dịch vụ có chạy bình thường không.
Tôi đã sử dụng tài khoản root để đăng nhập vào cơ sở dữ liệu mysql nhưng kết quả là mật khẩu không khớp. Tôi chợt nhận ra rằng máy chủ có thể đã bị tấn công SQL SQL...
Về nguyên nhân vụ tai nạn và các biện pháp khắc phục sau đó, khi có cơ hội tôi sẽ nói. Ở đây tôi sẽ chủ yếu nói về các bước để đặt lại mật khẩu người dùng mysql.
Đặt lại mật khẩu gốc Nếu bạn quên mật khẩu gốc, bạn có thể vào chế độ an toàn của mysql và đặt lại mật khẩu gốc.
1. Dừng dịch vụ MySQL.
Mở cửa sổ nhắc lệnh và nhập net stop mysql để tắt dịch vụ MySQL.
?
1
2
3
|
C:\Users\Administrator>net stop mysql57
Dịch vụ MySQL57 đang dừng ..
Dịch vụ MySQL57 đã dừng thành công.
|
↑ Tên dịch vụ không nhất thiết phải là mysql. Ví dụ: tên của tôi là mysql57 và 57 đại diện cho số phiên bản 5.7.
Tất nhiên, bạn cũng có thể tắt dịch vụ MySQL thông qua bảng quản lý máy tính.

2. Chuyển sang thư mục bin.
Trong cửa sổ nhắc lệnh, sử dụng lệnh cd để chuyển sang thư mục bin trong thư mục cài đặt mysql.
?
1
2
3
|
C:\Người dùng\Quản trị viên>
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
C:\Program Files\MySQL\MySQL Server 5.7\bin>
|
↑ Thư mục cài đặt mặc định là C:\Program Files\MySQL\MySQL Server.
3. Vào chế độ an toàn.
Nhập mysqld --skip-grant-tables vào thư mục bin để bỏ qua việc kiểm tra quyền và khởi động mysql.
如果你配置了 my.ini 文件,则需要将其引入: mysqld --defaults-file="../my.ini" --skip-grant-tables 。
?
1
2
3
4
|
[mysqld]
basedir = "C:\ProgramData\MySQL\MySQL Server 5.7"
datadir = "C:\ProgramData\MySQL\MySQL Server 5.7\Data"
|
↑ 我在 my.ini 文件中指定了数据的存放路径,如果不引入配置文件,则会提示 No such file or directory 错误.
4. 重置账户密码 。
打开另一个命令提示符窗口(别关闭安全模式窗口),同样切换到 mysql \ bin 目录,输入 mysql 跳过权限验证连接数据库.
?
1
2
3
4
5
|
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
|
↑ 也可以指定连接参数 mysql -u <用户名> -p <密码> -h <连接地址> -P <端口号> -D <数据库> 。
执行 update mysql.user set authentication_string="" where user="root"; 重置 root 用户的密码(5.7 之前为 password 字段).
?
1
2
3
4
5
6
7
8
9
10
11
12
|
mysql> update mysql.user set authentication_string="" where user="root";
Query OK, 1 row affected (0.00 sec)
mysql> select user,authentication_string from mysql.user\G
*************************** 1. row ***************************
user: root
authentication_string:
*************************** 2. row ***************************
user: mysql.sys
authentication_string: *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
2 rows in set (0.00 sec)
|
↑ root 用户的 authentication_string 字段已经被清空了 。
5. 刷新权限表 。
执行 flush privileges; 命令刷新权限表,密码已经重置完成,输入 quit 退出.
?
1
2
3
4
|
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> quit
Bye
|
关闭所有命令提示符窗口,通过任务管理器结束 mysqld.exe 进程。重启 MySQL 服务,之后就可以直接登录 root 账号了.
修改 root 密码 。
出于安全考虑,root 密码不宜为空,所以需要在密码重置之后,再重新设置一个密码.
方法一:SET PASSWORD 。
SET PASSWORD FOR "username"=PASSWORD("new password"),
以 root 身份登录 mysql,再使用 set password 命令修改密码:
?
1
2
|
mysql> set password for root@localhost = password("pswd");
Query OK, 0 rows affected, 1 warning (0.00 sec)
|
方法二:mysqladmin 。
mysqladmin -u "username" -p password "new password" 。
执行该命名之后会提示输入原密码,输入正确后即可修改.
?
1
2
3
4
5
|
C:\Program Files\MySQL\MySQL Server 5.7\bin> mysqladmin -u root -p password pswd
Enter password: ****
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
|
方法三:UPDATE TABLE 。
UPDATE mysql.user SET authentication_string=PASSWORD("new password") WHERE user="username",
在重置 root 密码的同时,也可以设置默认密码。不过密码不能为明文,必须使用 password() 函数加密.
?
1
2
3
4
5
|
mysql> update mysql.user set authentication_string=password("pswd") where user="root";
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
|
Tóm tắt.
以上就是本文关于windows下重置mysql的root密码方法介绍的全部内容,希望对大家有所帮助.
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持! 。
原文链接:http://www.cnblogs.com/woider/p/6725867.html 。
最后此篇关于windows下重置mysql的root密码方法介绍的文章就讲到这里了,如果你想了解更多关于windows下重置mysql的root密码方法介绍的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
数据库>端口号>连接地址>密码>用户名>
Tôi là một lập trình viên xuất sắc, rất giỏi!