笺注:这是在 使用Navicat远程管理MySQL8.0 的基础上进行的。
服务器本地登录MySQL数据库:( 使用数据库管理员root@localhost )
mysql -uroot -p"P@ssw7rd" -h"localhost"
注释: -h"localhost" 是可以省略的。
修改数据库管理员root@localhost的密码:
mysql> ALTER USER root@'localhost' IDENTIFIED BY 'P@ssw7rdnew';
Query OK, 0 rows affected (0.01 sec)
数据库管理员root@localhost使用新密码登录:
mysql -uroot -p"P@ssw7rdnew"
######
重置MySQL8.0的数据库管理员root@localhost的密码:(不知道用户密码的情况下)
修改MySQL的主配置文件:
[root@redhat8 ~]# vi /etc/my.cnf
在[mysqld]下面添加一行代码:(跳过授权表)
skip-grant-tables
如下图:(截图有省略)
保存好配置文件后,重启MySQL:
[root@redhat8 ~]# systemctl restart mysqld
现在可以跳过密码验证,直接进入MySQL了:
mysql -u"root"
修改数据库管理员root@localhost的密码:
mysql> update mysql.user set authentication_string = '' where User = 'root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER USER root@'localhost' IDENTIFIED with mysql_native_password BY 'P@ssw78rd';
Query OK, 0 rows affected (0.01 sec)
再修改MySQL的主配置文件:
[root@redhat8 ~]# vi /etc/my.cnf
删除刚刚在[mysqld]下面添加的那一行代码:
保存好配置文件后,重启MySQL:
[root@redhat8 ~]# systemctl restart mysqld
数据库管理员root@localhost的密码重置成功:
mysql -u"root" -p"P@ssw78rd"
######
查看默认的用户密码策略:
SHOW VARIABLES LIKE 'validate_password%';
给普通的数据库用户zhuohua@'%'修改密码:
mysql> ALTER USER zhuohua@'%' IDENTIFIED BY 'P@ssw8rd1234';
Query OK, 0 rows affected (0.00 sec)
删除普通的数据库用户zhuohua@'%':
mysql> drop user zhuohua@'%';
Query OK, 0 rows affected (0.09 sec)
相关文章:
重置MySQL5.5/5.6/5.7的用户密码 |