最近计划开始用自己的mac把数据库相关知识和操作再重温一遍,结果发现好久没用过mac自带的mysql,root账户密码直接给忘了,“还没开始就结束了?”,那是不存在的,必须给整回来。记录下mac更新mysql数据库root密码的过程
- mysql版本:8.0.19
- 操作工具:命令行终端
- 操作权限:mac root权限
步骤一<设置无密码进入>
- 停止mysql服务。命令:/usr/local/mysql/support-files/mysql.server stop
- 设置跳过鉴权。命令:/usr/local/mysql/bin/mysqld_safe --skip-grant-tables
- 打开另一个终端界面,登陆mysql。命令:mysql -u root
步骤二<更新root账户密码>
- 查看账户密码和加密方式信息。命令:use mysql; select host, user, authentication_string, plugin from user; 这里发现root账户加密方式是caching_sha2_password,区别于mysql_native_password,这种加密方式下直接用命令(ALTER user ‘root’ IDENTIFIED BY ‘123456’ ;)修改密码会出现报错。报错信息:ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@‘localhost’
2. 更新账户密码。命令:alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘your password’; 这里就将鉴权方式重新改回了mysql_native_password。
步骤三<重启mysql服务>
- 完成密码修改后退出数据库再进行重启。命令:/usr/local/mysql/support-files/mysql.server restart
- 再用root账户和新密码进行登陆。命令:mysql -u root -p
这样mac下的mysql密码就被更新重置了。