MAC安装mysql8.0.11以及修改root密码
1、安装
官网下载地址:
https://dev.mysql.com/downloads/mysql/
我选择安装的是macOS 10.13 64位的DMG包安装
2、启动mysql
打开系统偏好设置,会看到安装好的mysql
双击进入mysql启动
终端启停mysql
启动MySQL服务 sudo /usr/local/MySQL/support-files/mysql.server start
停止MySQL服务 sudo /usr/local/mysql/support-files/mysql.server stop
重启MySQL服务 sudo /usr/local/mysql/support-files/mysql.server restart
3、登陆mysql
刚安装完后终端登陆mysql
mysql -uroot -p
问题出现了
MYSQL会要求输入一个默认密码,但当自己在终端上使用默认密码登录的时候,总会提示一个授权失败的错误:Access denied for user ‘root’@’localhost’ (using passwor)
问题解决:
这是因为没有给root角色设置密码;
1. 打开终端停止mysql
sudo /usr/local/mysql/support-files/mysql.server stop
2. 跳过登陆方式启动并进入mysql
sudo mysqld_safe --user=mysql --skip-grant-tables --skip-networking
如下图所示:
3. 另开一个终端窗口
敲入 mysql -u root -p
命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中
4. 修改root密码
问题出现了!网上铺天盖地的重置密码的方式报错:
set password for 'root'@'localhost'=password('123');
如下图,无论改大写还是小写,都会报语法错误
ERROR 1064 (42000): You have an error in your SQL syntax;
5. 解决root密码报错
因为现在是新版本8.0了 ,老版本的修改密码的语法已不再适用,mysql 5.7.9以后废弃了password字段和password()函数;
mysql>use mysql;
mysql>FLUSH PRIVILEGES;
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassward' //注意,这里的密码要用包含8位大写+小写+特殊字符+数字的密码
会提示修改密码成功!
mysql>quit;
退出mysql;
注意:原来skip-grant-tables的终端要关闭,最好在kill掉mysql进程;
然后重启mysql;
直接用mysql -uroot -p 输入刚才设置的密码即可正常登录!
6. 如果还有其他问题,请直接查看官网文档,比网上各种老版本的解决方案靠谱
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html