1、停止MySQL服务
系统偏好设置,找到MySQL,手动停止
sudo /usr/local/mysql/support-files/mysql.server stop
打开活动指示器强制停止MySQL服务
2、进入安全模式
sudo mysqld_safe --skip-grant-tables
mysqld_safe 命令在 /usr/local/mysql/bin/ 目录下,使用mysql之前,需要将bin路径加到环境变量中,即在 ~/.bash_profile文件中将MySQL的bin完整路径加到path里面。最后source ~/.bash_profile
3、进入MySQL
进入安全模式后,你可以不输入密码就能直接进去。
mysql -uroot -p
MySQL的用户信息存放在 mysql.user 这张表。
切换数据库:use mysql,查看 user 表的字段,确定密码字段的名称,MySQL5.6版本的密码字段是 password, 但是,老子的数据库用的是 5.7 版本,这里的密码字段是:authentication_string。
然后修改密码:update mysql.user set authentication_string=password('123456') where user='root';
4、刷新权限,重启服务。
修改完之后,记得刷新权限、重启MySQL服务器才能生效。在这之前先关闭MySQL服务器。
#刷新权限,使配置生效
flush privileges
#重启服务
sudo /usr/local/mysql/support-files/mysql.server start