最近几天来回切换各个Mysql版本重置密码,记录一下各个版本重置密码的方法。
MySql 5.5
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new_password');
MySql5.6
SET PASSWORD FOR 'username'@'localhost' = 'new_password';
MySql5.7
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
或
ALTER USER 'username'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'new_password';
MySql8.0
ALTER USER 'username'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'new_password';
注意
username
是数据库账号localhost
是指账号对应的host主机字段值,需要按实际情况填写new_password
新密码mysql_native_password
mysql 在8.0+中可以设置密码的插件可以选择的更安全的插件还有caching_sha2_password
如果你是因为忘记了密码 连Mysql命令行都进不去,可以在启动mysql的时候加参数来跳过密码验证进入命令行
Linux系统在/etc/my.cnf mysqld组中加入 参数skip-grant-tables
Window系统找到对应的my.ini文件 在mysqld组中加入参数 skip-grant-tables
设置完参数后 重启mysql。再次进入mysql命令,不用加-p参数
mysql -uroot
就只能直接进入命令行执行重置密码的操作了,遇到共享内存相关的错误的需要先执行flush privileges;
后再去操作重置密码就好了。