MySQL 修改账号密码方法

彻底忘记密码

首先修改配置文件,在[mysqld]部分加上一句:skip-grant-tables ,加上此参数的目的是跳过权限验证。然后重启数据库,数据库再次启动后,我们就可以不用密码直接登录数据库修改密码了。

修改完 root 密码后,再次去除 skip-grant-tables 参数,然后重启下数据库即可。

有管理员密码,修改某个帐号的密码

1.alter user

mysql> alter user 'testuser'@'%' identified by 'Password1';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2.SET PASSWORD 命令

mysql> SET PASSWORD FOR 'testuser'@'%' = PASSWORD('Password2');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

3.mysqladmin 修改密码

[root@host ~]# mysqladmin -utestuser -pPassword2 password Password3

4. update user 表

# 5.7及之后版本
mysql> update mysql.user set authentication_string = password ('Password4') where user = 'testuser' and host = '%';
Query OK, 1 row affected, 1 warning (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

# 5.6及之前版本
update mysql.user set password=password('新密码') where user='用户名' and host='host'; 

5.设置 login-path 本地快捷登陆

login-path 是 MySQL 5.6 开始支持的新特性。通过借助 mysqlconfigeditor 工具将登陆 MySQL 服务的认证信息加密保存在 .mylogin.cnf 文件(默认位于用户主目录)。MySQL 客户端工具可通过读取该加密文件连接 MySQL ,实现快捷登录。

# 执行回车后需要输入一次root密码
[root@host ~]# mysql_config_editor set --login-path=root -uroot  -hlocalhost -p -P3306 
Enter password: 
# 配置完成后可以使用login-path登录
[root@host ~]# mysql --login-path=root

发表评论