1. 关闭mysql服务
sudo /usr/local/mysql/support-files/mysql.server stop
如果出现Starting mysqld daemon with databases fr。。。。。。。表示成功
如果报错,你可能需要以下几个操作:
1. 去到mysql的data目录, 把文件都删掉,尤其是Index文件, 文件夹不要删
2. ps aux |grep mysq* 把能杀的mysql的进程都杀掉, 如果有杀不掉的,可以去系统偏好设置里, 把mysql关闭
2. 关闭mysql后,输入命令,就可以进入安全模式,去修改密码了
所谓安全模式, 是指不用通过密码就能进入mysql, 这个东西一定要慎用
命令:进入mysql/bin sudo mysqld_safe --skip-grant-tables
3. 再打开一个终端,进入mysql
mysql -u root -p 回车,不用输密码,直接回车就可以进入
4. 修改密码:
先去mysql.user表中看一下密码的字段是不是叫 Password, 有的版本并不叫这个名字,确认一下
然后尝试修改密码: UPDATE mysql.user SET authentication_string=PASSWORD(‘123456’) where User=’root’;
可能会报错:ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
这是因为MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令。
show variables like 'SQL_SAFE_UPDATES';查看开关状态。
执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式
然后再去执行修改密码的操作,应该就没有问题 了