一、首先终端中结束当前正在运行的mysql进程:
sudo /etc/init.d/mysql stop
查看mysql进程命令:
ps aux |grep mysqld
二、用mysql的安全模式运行并跳过权限验证:
sudo /usr/bin/mysqld_safe --skip-grant-tables
注意:在这里可能会报错
error:mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists
解决方法:
1、mkdir -p /var/run/mysqld
2、chown mysql:mysql /var/run/mysqld
建立不存在的问文件夹,然后再执行之前的命令:
sudo /usr/bin/mysqld_safe --skip-grant-tables
三、新开一个终端,以root身份登录
mysql -u root
然后修改密码:
use mysql
update user set Password = PASSWORD('root') where User ='root';
注意:括号里的'root'就是新密码。在这里可能又会报错
四、结束mysql的安全模式,用正常模式运行mysql
mysql>exit;
/etc/init.d/mysql restart
mysql -uroot -p
输入密码:root
刷新并退出
mysql>flush privileges;
mysql>quit;