想在mac上练习下mysql,结果忘记了密码。好在运气很好 知乎第一篇就到了管用的方法。在此记录一下
- 关闭mysql
两种方法,
第一种sudo /usr/local/mysql/support-files/mysql.server stop
第二种方法 系统偏好-->mysql-->Stop MySQL Server - 进入目录
cd /usr/local/mysql/bin
- 获取管理员权限
sudo su
- 重启服务器
./mysqld_safe --skip-grant-tables &
- 重开一个终端
快捷键 command+N - 进入客户端
终端输入mysql
- 获取权限
flush privileges;
- 修改密码
set password for 'root'@'localhost'=password('新密码');
修改完毕
=====================================================
flush privileges;
命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。简而言之就是可以将数据读取到内存中,以便立即生效。