最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

MySQL密码管理:MySQL密码丢失如何找回?

XAMPP教程 admin 790浏览 0评论
  • 1.密码修改
  • 2.密码过期

 zzzzzt43

1.密码修改

set

--在当前的用户登录后修改
set password=password('new_password');

mysqladmin

-- mysqladmin -uroot -pold_password password new_password
[root@jssdb01 ~]# mysqladmin -uroot -prootroot password root123
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

update mysql.user

UPDATE mysql.user SET `authentication_string`=PASSWORD('root123') WHERE USER='root';

grant

mysql> show grants for jss0022;
+-----------------------------------------------------------------------------------+
| Grants for jss0022@%                                                              |
+-----------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON *.* TO 'jss0022'@'%' |
+-----------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON *.* TO 'jss0022'@'%' identified by 'jss0022';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

alter user

mysql> alter user 'jss0022'@'%' identified by 'jss0022';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2.密码过期

密码过期与否看参数

mysql> show variables like '%lifetime%';     
+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| default_password_lifetime | 0     |
+---------------------------+-------+

2.1过期配置

my.cnf

[mysqld]
default_password_lifetime=0
--如果设置过期时间
default_password_lifetime=100 --100天过期

alter user

关于alter user的语法使用可通过help alter user查看

password_option: {
    PASSWORD EXPIRE
  | PASSWORD EXPIRE DEFAULT
  | PASSWORD EXPIRE NEVER
  | PASSWORD EXPIRE INTERVAL N DAY
}

alter user jss0022@'%' password expire default;
alter user jss0022@'%' password expire never;
alter user jss0022@'%' password expire interval 100 day;

2.2密码丢失

如果是普通用户可以找DBA采用高权限用户进行更改;

如果是root密码忘记,则通过skip-grant-tables参数修改;

--linux的话,修改my.cnf
[mysqld]
skip-grant-tables
--关数据库--修改参数文件--登录MySQL--修改密码--关数据库--取消参数文件--重新登录MySQL
UPDATE mysql.`user` SET authentication_string=PASSWORD('root123') WHERE USER='root';
flush privileges;

转载请注明:XAMPP中文组官网 » MySQL密码管理:MySQL密码丢失如何找回?

您必须 登录 才能发表评论!