mysql5.7修改密码方法:
1)vi /etc/my.cnf
2)在[mysqld]下边的某个位置增加: skip-grant-tables ,然后 :wq 保存退出
3)在 /usr/local/mysql/bin目录下执行命令: ./mysql -u root -p ,然后回车两次,进入到mysql
4)执行命令:
use mysql
SET SQL_SAFE_UPDATES = 0 先关闭安全模式否则修改不成功
5)update mysql.user set authentication_string=password('root') where User='root';
6)flush privileges ;
7)执行命令:SET SQL_SAFE_UPDATES = 1
8)vi /etc/my.cnf ,删除skip-grant-tables 行
9)service mysqld restart
10) 在 /usr/local/mysql/bin目录下执行命令: ./mysql -u root -p 然后输入新建的密码:root即可进入mysql
mysql8.0.17版本修改密码方法:
alter user 'root'@'localhost' identified by '123456root!'; # 8.0版本后 密码设置不能太简单
以下方式在老版本中有效
1、登录mysql
1 2 |
|
如果忘记密码,则跳过MySQL的密码认证过程。步骤如下:
- 修改Mysql配置文件:vi /etc/my.cnf(注:windows下修改的是my.ini)。在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程。
- 重启Mysql:
- 进入Mysql:[root@localhost ~]# mysql -uroot -p
2、使用mysql数据库,从user表中查看主机,用户名,密码
1 2 3 4 5 6 7 8 |
|
3、修改密码,刷新一下权限
1 2 3 |
|
上面修改密码是在5.7版本之前的。若是5.7版本之后的(包括5.7),没有password这个字段了,则修改方法如下:
1 2 3 4 |
|
4、如果以上不能解决密码修改,则使用下面方法
1 2 3 |
|
修改加密规则:mysql> alter user "root"@"localhost" identified by 'password' PASSWORD EXPIRE NEVER;
如果执行以上的操作并没有解决,请再把default_authentication_plugin=mysql_native_password添加到配置中。
5、再去编辑一下my.cnf配置文件,去掉skip-grant-tables。
6、重启Mysql,用你修改后的密码登录Mysql