本人很菜,这个问题头疼了几天,终于解决了,现在记录下来,其它人可以参考一下。
1、关闭 Mysql 服务
方法一、在系统偏好设置里关闭,如果关闭不了,重启后再试或者用方法二。
方法二、在终端输入: ps axu|grep mysql 找出 mysql 的进程id 用 kill 方法 kill 掉
2、以安全模式进入数据库
一、打开一个终端,输入命令:
$ cd /usr/local/mysql/bin
$ sudo su
然后便可以看到终端命令变成这个开头: sh-3.2#
输入一下命令:
sh-3.2# ./mysqld_safe --skip-grant-tables &
之后便可以以安全模式进入数据库了。
二、现在打开一个新的终端
输入以下命令:
mysql -u -root
然后便会发现你不需要密码就进入数据库了。
3、修改密码
一、查询用户密码:mysql> select host,user,authentication_string from mysql.user;
host: 允许用户登录的ip‘位置'%表示可以远程;(不重要)
user:当前数据库的用户名;
authentication_string: 用户密码(后面有提到此字段);
二、如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行下一步。
1 2 |
|
三、使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下:
1 |
|
注意!注意! : 密码要包含大写字母,小写字母,数字,特殊符号。 (重要)
四、刷新权限
flush privileges;
最后退出数据库,把第 2 步的终端关掉,重新打开终端用: mysql -u root -p 登录数据据即可。
说明:这个方法我主要是参考了两篇文章后实践得出的,文章有些地方也是直接复制他们的。如有侵权请联系我删除。
参考文章链接:
1、https://blog.csdn.net/say_c_box/article/details/72842286
2、https://www.jb51.net/article/142025.htm