首先把mysql停止:

sudo /usr/local/mysql/support-files/mysql.server stop

这里要输入密码。

然后用安全模式启动mysql

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

然后打开一个新的终端Command + N重新打开一个终端输入:

Mysql -u root

然后就是重点了,首先要确认你的mysql的版本。如果不知道可以用:

mysql --version

如果发现你的版本是8.0或以上的:

> use mysql 
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; 
> FLUSH PRIVILEGES;

如果是5.7的之类的就可以用

mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('123');
// 也可以修改其他密码
// 最后刷新
mysql> FLUSH PRIVILEGES;

因为从8.0.11版本起,不再像mysql5.7及以前版本那样,设置用户密码时默认的验证方式为caching_sha2_password,如果发现升级mysql8.0.11后原有的程序不能连接mysql,可迅速在mysql command line client客户端用下面的命令设置成mysql5.7及以前版本的密码验证方式,同时MYSQL8.0.11下修改密码的方式与原先也不大一样,原先的部分修改密码的命令在mysql8.0.11下不能使用。

设置完之后:

sudo /usr/local/mysql/support-files/mysql.server stop

因为如果不用上面这种方式关闭的话会一直保持安全模式打开,就会导致以后在要关闭mysql的时候在系统偏好设置里面无法关闭。。(本人以前就遇到过。。。还傻傻的不知道怎么回事)

然后在系统偏好设置重的mysql再次打开:

mysql -uroot -p你的密码

看看能不能打开。

最后修改日期:2020年4月18日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。