MySql 忘记密码(Mac 端)

1.找到自己的 mysql 安装目录, 进入 bin/
➜  ~ cd /usr/local/Cellar/mysql@5.7/5.7.31/bin
➜  bin ls | grep "safe"
mysqld_safe
2. 进入安全模式
➜  bin mysqld_safe --skip-grant-tables
2020-10-28T03:35:24.6NZ mysqld_safe Logging to '/usr/local/var/mysql/dooo.err'.
2020-10-28T03:35:24.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
3. 上面页面会暂停,直接将下列命令输入, control + z 结束输入, 即可使用 123456 进行登陆
mysql -u root
update mysql.user set authentication_string=PASSWORD('123456') where User ='root';
flush privileges;
\q

如图:
在这里插入图片描述

有可能出现的问题:
### 4. 进入安全模式修改密码成功后, 有时出现重启 mysql 服务后再次登陆时仍失败的问题
解决方式, 新建用户, 然后授予最高权限, 再使用该用户, 对 root 进行授权即可
刷新权限表
flush privileges;

创建用户 abc 并授权
create user 'abc'@'%';
grant all privileges on *.* to 'abc'@'%' identified by '123456';
grant all privileges on *.* to 'abc'@'localhost' identified by '123456' with grant option;

然后使用 abc 登陆, 登陆后再对 root 账号授权
grant all privileges on *.* to root@"%" identified by "123456";
grant all privileges on *.* to root@"localhost" identified by "123456" with grant option;

刷新权限表
flush privileges;

完成之后查询 user 表:
mysql> select host,user,authentication_string from mysql.user;
+-----------+---------------+-------------------------------------------+
| host      | user          | authentication_string                     |
+-----------+---------------+-------------------------------------------+
| %         | root          | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | root          | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| %         | abc           | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | abc           | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------------+-------------------------------------------+
6 rows in set (0.00 sec)

问题: 为什么同时授予 ‘%’ 与 ‘localhost’ ?

因为版本问题, 有时 ‘%’ 不包括 ‘localhost’. 参考: MySQL用户中的%到底包不包括localhost?

并且同一版本的小版本之间也会有类似问题, 不具体探究了, 就直接全部授权省事.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值