WIN10操作系统下如何修改MySQL5.7数据库的ROOT用户密码(亲测有效)
由于工程项目需要,需要修改MySQL5.7数据库的ROOT用户密码,但是发现网上很多方法都是针对MySQL5.6数据库系统的,并不适合MySQL5.7数据库。
一、查看MySQL5.7数据库的服务名
可以观察到,MySQL5.7数据库的服务名为MySQL57,并且正在运行。
二、停止MySQL5.7数据库的服务
WIN10操作系统键入cmd进入命令行窗口,输入net stop MySQL57,注:MySQL57就是MySQL5.7数据库的服务名。
哎哟,拒绝访问,是因为权限不够,需要用系统管理员权限进入命令行窗口。
搜索框输入cmd,然后点击【以管理员身份运行】,就可以进入系统管理员命令行窗口
命令行窗口输入 net stop MySQL57
可以观察到MySQL5.7数据库已经停止服务。
三、修改My.ini文件
1、电脑上搜索My.ini文件,找到MySQL安装路径下的my.ini配置文件文件在[mysqld]节点下方添加:
skip-grant-tables = true
2、我的电脑上在如下位置下搜索到My.ini文件
C:\ProgramData\MySQL\MySQL Server 5.7
3、在My.ini文件中查找mysqld,然后在mysqld的下方填写 skip-grant-tables = true
4、保存My.ini文件
四、重启MySQL5.7数据库的服务
WIN10操作系统键入cmd进入命令行窗口,输入net start MySQL57,注:MySQL57就是MySQL5.7数据库的服务名。
五、登录MySQL数据库,修改ROOT用户密码
1、用ROOT旧密码登录MySQL数据库
2、输入use mysql;
use mysql;
3、输入 update mysql.user set authentication_string = password('winelec68331') where user='root';
update mysql.user set authentication_string = password('winelec68331') where user='root';
winelec68331就是新密码。
警告:在MySQL5.7里面没有“password”这个字段,使用的是“authentication_string”字段。
网上很多都使用的是update mysql.user set password = password('winelec68331') where user='root';
只是针对MySQL5.6数据库系统,不适合MySQL5.7数据库系统。
MySQL5.7数据库系统修改密码必须要使用authentication_string
4、执行筛选权限的命令:flush privileges;
输入 flush privileges;
flush privileges;
六、验证使用修改后的密码登录数据库
用新密码登录数据库成功,参见下图
七、恢复My.ini文件
在My.ini文件中查找mysqld,在mysqld的下方将之前填写的 skip-grant-tables = true 删除。
恢复后的My.ini文件内容如下:
八、重启电脑
九、验证使用修改后的密码登录数据库
用新密码登录数据库成功,参见下图