第一种
mysql版本:5.7.17
1.首先关闭mysql服务
sudo /usr/local/mysql/support-files/mysql.server stop
2.用安全模式启动mysqlsudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
3.使用root账号登录mysql服务/usr/local/mysql/bin/mysql -u root
4.修改root账号的密码(其实这运行的是sql语句)update mysql.user set authentication_string=password(\'qingyun1\') where user=\'root\' and Host = \'localhost\';
刷新权限表:flush privileges;
5.关闭安全模式,正常的重启mysqlsudo /usr/local/mysql/support-files/mysql.server restart
6.正常的使用root账号和密码连接mysql/usr/local/mysql/bin/mysql -u root -p
第二种
忘记密码,强行修改:
停止Mysql服务
sudo /usr/local/mysql/support-files/mysql.server stop
进入终端输入:cd /usr/local/mysql/bin/sudo su
禁止mysql验证功能./mysqld_safe --skip-grant-tables &
./mysqlFLUSH PRIVILEGES;ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'你的新密码\';
第三种
- 停止 mysql server. 通常是在 \'系统偏好设置\' > MySQL > \'Stop MySQL Server\'或者:
sudo /usr/local/mysql/support-files/mysql.server stop
2.打开终端输入:sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
3.打开另一个新终端输入:sudo /usr/local/mysql/bin/mysql -u rootUPDATE mysql.user SET authentication_string=PASSWORD(\'新密码\') WHERE User=\'root\';FLUSH PRIVILEGES;\q
4.重启sudo /usr/local/mysql/support-files/mysql.server restart
*以上方法针对 mysqlV5.7.9, 旧版的mysql请使用:UPDATE mysql.user SET Password=PASSWORD(\'新密码\') WHERE User=\'root\';