Mac 最全 Mysql忘记用户名和密码如何处理

工作中一直在维护开发环境和生产环境的数据库,现在想做些小测试需要用到本地库,但忘记了账户名和密码。

还好本姑娘有点儿懒,用的是navicat工具,有记录用户名,不过无所谓,都能查出来。

第一步:关闭mysql服务器。

苹果 --》系统偏好设置 --》 mysql --》Stop Mysql Server 

第二步:进入mysql安装路径,用系统管理员权限跳过mysql安全认证,命令结果如下图所示。

1.打开启动台--》其他 --》终端

2.进入mysql安装路径  cd /usr/local/mysql/bin/

3.登录管理员权限 sudo su

4.输入开机密码 ******

5.输入跳过mysql安全认证的命令  ./mysqld_safe --skip-grant-tables &

6.在第一步的mysql设置的画面中发现 关闭的mysql server 又重新变成running了

7.进入mysql 输入命令  ./mysql

如果显示以下字样,则为登录成功。

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 5.7.24 MySQL Community Server (GPL)

8.刷新权限 FLUSH PRIVILEGES

Query OK, 0 rows affected (0.01 sec)

第三步:查看用户名密码

select* from mysql.user;

如上图,反正是本机的,懒得重新设置密码,看下图 mysql_native_password  *DA28842831B3C40F4BC1D3C76CF9AD8CBFDAE1CB

拿这个字符串去MD5解密一下(我设置的本机密码比较简单,所以就解密一下,如果大神设置的很不常见,那就要重新设置密码了--见第四步)

推荐MD5在线解密连接:

https://www.cmd5.com

然后我愉快的找到了我的密码,888888,是不是很easy~~

第四步:重新设置密码。

重新设置密码的语句根据你的mysql的版本而定。

情况一:知道旧密码,更新密码

1.进入安装目录 cd /usr/local/mysql/bin/

2.打开管理员权限 sudo su 输入开机密码

3.登录mysql  mysql -u root -p 输入密码 

如显示以下欢迎语,则登录成功!

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 70

Server version: 5.7.24 MySQL Community Server (GPL)

4.修改密码

如上一步查看用户名密码时,select * from mysql.user;

这个就是sql语句,一张user表,记录了你的账户信息,修改密码就是要修改其中一条记录的一个值,

新版的密码对应的字段名为:authentication_string,输入命令:

update mysql.user set authentication_string = PASSWORD('123456') where User = 'root';

(旧版的密码对应修改命令为:UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User='root';)

如下显示,则为修改成功!然后刷新权限:FLUSH PRIVILEGES;再退出:quit 

Query OK, 1 row affected, 1 warning (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 1

5.重新登录 mysql  mysql -u root -p 输入密码 123456 ,如下显示,则为新密码登录成功。

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 80

情况二:忘记密码,强行修改

忘记密码强行修改一:

1.停止mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 输入开机密码

2.进入安装目录 cd /usr/local/mysql/bin

3.禁止mysql安全验证  ./mysqld_safe --skip-grant-tables &

显示如下时,禁止成功

root@guofei:/usr/local/mysql-5.7.24-macos10.14-x86_64/bin#     2019-02-14T05:18:51.6NZ mysqld_safe Logging to '/usr/local/mysql-5.7.24-macos10.14-x86_64/data/guofei.local.err'.

2019-02-14T05:18:51.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.7.24-macos10.14-x86_64/data

输入./mysql 显示如下时,无安全认证情况下登录成功

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.24 MySQL Community Server (GPL)

4.刷新权限  FLUSH PRIVILEGES;

5.修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '888888';

6.退出mysql重新登录 quit

mysql -u root -p 输入刚刚更新的 888888,登录成功

忘记密码,强行修改二:

1.  停止 mysql server.  通常是在 '系统偏好设置' > MySQL > 'Stop MySQL Server'
或者: sudo /usr/local/mysql/support-files/mysql.server stop
2.  打开终端,输入:
     sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables (此处和强行修改一的区别就是 & 符号)
3.  打开另一个新终端,输入:
     sudo /usr/local/mysql/bin/mysql -u root
     UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE User='root';

(旧版请使用:UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User='root';)
     FLUSH PRIVILEGES;
     \q
4.  重启 sudo /usr/local/mysql/support-files/mysql.server restart

5 用新密码登录

进入安装目录  cd /usr/local/mysql/bin/

mysql -u root -p

输入新密码 123456

登录成功。

 

 

 

 

 

 

 

 

你可能感兴趣的:(工具使用总结,mysql相关)