在 MySQL 5.6 中,使用 ALTER USER 语句来修改用户密码是不支持的。可以使用以下步骤来重置 root 用户密码:
停止 MySQL 服务。
在终端中执行以下命令:
systemctl stop mysql
启动 MySQL 服务,并跳过权限验证。
在终端中执行以下命令:
mysqld_safe --skip-grant-tables &
连接到 MySQL 服务器。
在终端中执行以下命令:(不用输入密码 直接回车)
mysql -u root
切换到 mysql 数据库。
在 MySQL 命令行中执行以下命令:
use mysql;
更新 root 用户的密码。
在 MySQL 命令行中执行以下命令:
update user set authentication_string=password('new_password') where user='root';
有些执行上述代码更新失败,可以试下面代码
update user set password=password('new_password') where user='root' and host='localhost';
将 new_password 替换为你想要设置的新密码。
刷新权限。
在 MySQL 命令行中执行以下命令:(我在操作中刷新权限后密码重置失败,不刷新权限就可以,如果遇到重置失败的,看下有没有其他应用在使用mysql,先把应用停用,在重新处理下,应该就可以了)
flush privileges;
退出 MySQL 命令行。
在 MySQL 命令行中执行以下命令:
exit;
停止 MySQL 服务。
在终端中执行以下命令:
systemctl stop mysql
启动 MySQL 服务。
在终端中执行以下命令:
systemctl start mysql
现在,你应该可以使用新设置的密码登录到 MySQL 数据库中的 root 用户了。
其他一些情况
如果遇到远程连接数据库的工具连接不了,可能要mysql5.6开启远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)