暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL密码管理

数据库BOSS 2021-04-16
625

  • 1.密码修改

  • 2.密码过期


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;

复制


文章转载自数据库BOSS,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论