mac mysql5.7版本密码忘记,无法登录

来源:互联网 发布:求数组平均值 编辑:程序博客网 时间:2024/06/05 01:16

本人最近刚开始玩mac,安装mysql最新版本5.7.15。安装完成之后发现登录时需要密码(之前版本默认为空,因此也没在意)。因此装完之后发现无法正常登录。

资深的运维同事对我讲,mysql自5.7之后的版本安装时都会有默认密码产生,mac、linux系统会放在家目录下的xx文件中(是个隐藏文件,具体文件名他也不太记得了,等确认之后再补上)。

在网上找了一些方法,一路坎坷,四处碰壁,最后终成正果。特此记录,以备后患。步骤如下:

1、关闭mysql服务,方法有二:

a、MAC终端,通过命令:sudo /usr/local/mysql/support-files/mysql.server stop

b、图形化界面中,系统偏好设置-->MySQL-->Stop MySQL Server

当然,不管哪个都需要个人mac密码输入。

2、MAC终端,sudo/usr/local/mysql/bin/mysql -u root。跳入mysql中,

mysql > use mysql;

mysql5.7之后,USER表中,密码字段变为authentication_string。

mysql > update user set authentication_string = password('root') where user = 'root';

做完这些,竟然mysql自动重启,还得去问一下专家,因此我这块又重启了一次。(重启命令同第一步的stop)

3、修改完之后,可以通过root密码进行登录。但是在使用mysql数据库时,会报错如下:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

因此,还需做三步操作:

a、mysql > set password = password('root');

b、mysql > alter user 'root'@'localhost' password expire never;

c、mysql > flush privileges;

至此,我的mysql可以正常使用。

问题:1、根据网上提示,在第一步操作完成之后,有一个sudo/usr/local/mysql/bin/mysqld_safe --skip-grant-tables命令。执行完之后,会提示mysqld_safe已经不存在,也是,mysql整个服务都关闭了。感觉这块是有误导!

0 0
原创粉丝点击