• MySQL用户管理(CentOS)


    目录

    用户管理

    登录MySQL服务器

    创建用户

    修改用户

    删除用户

    方式一:使用DROP

    方式二:使用DELETE

    设置当前用户密码

    1. 使用ALTER USER命令来修改当前用户密码

    2. 使用SET语句来修改当前用户密码

    修改其它用户密码

    1. 使用ALTER语句来修改普通用户的密码

    2. 使用SET命令来修改普通用户的密码

    3. 使用UPDATE语句修改普通用户的密码(不推荐)

    MySQL8密码管理

    1.密码过期策略

    2.密码重用策略


    用户管理

    登录MySQL服务器

    启动MySQL服务后,可以通过mysql命令来登录MySQL服务器,命令如下:

    mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句"
    

    下面详细介绍命令中的参数: 

    -h后面接主机名或者主机IP,hostname为主机,hostIP为主机IP。
    -P后面接MySQL服务的端口,通过该参数连接到指定的端口。MySQL服务的默认端口是3306, 不使用该参数时自动连接到3306端口,port为连接的端口号。
    -u后面接用户名,username为用户名。
    -p会提示输入密码。
    DatabaseName指明登录到哪一个数据库中。如果没有该参数,就会直接登录到MySQL数据库 中,然后可以使用USE命令来选择数据库。
    -e后面可以直接加SQL语句。登录MySQL服务器以后即可执行这个SQL语句,然后退出MySQL 服务器。

    举个栗子:

    mysql -uroot -pzxcvbn0131 -hlocalhost -P3306 mysql -e "show databases"
    

    用于显示数据库

    创建用户

    CREATE USER语句的基本语法形式如下:

    CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名 [IDENTIFIED BY '密码']];
    
    • 用户名参数表示新建用户的账户,由 用户(User) 主机名(Host) 构成;
    • “[ ]”表示可选,也就是说,可以指定用户登录时需要密码验证,也可以不指定密码验证,这样用户 可以直接登录。不过,不指定密码的方式不安全,不推荐使用。如果指定密码值,这里需要使用IDENTIFIED BY指定明文密码值。
    • CREATE USER语句可以同时创建多个用户。 

    举例:

    CREATE USER  IDENTIFIED VAN BY 'Van-Darkholme';
    CREATE USER 'VAN'@'localhost' IDENTIFIED BY 'Van-Darkholme';

    修改用户

    修改用户名:

    1. UPDATE mysql.user SET USER='BillyHerrington' WHERE USER='VanDarkholme';
    2. FLUSH PRIVILEGES;

    举例: 

     这里把用户名van改成了billy。♂

    删除用户

    • 方式一:使用DROP

    使用DROP USER语句来删除用户时,必须用于DROP USER权限。DROP USER语句的基本语法形式如下:

    DROP USER user[,user]…;
    

    举例:

    DROP USER van ;
    DROP USER 'van'@'localhost';
    • 方式二:使用DELETE

    DELETE FROM mysql.user WHERE Host=’hostname’ AND User=’username’;

    执行完DELETE命令后要使用FLUSH命令来使用户生效,命令如下:

    FLUSH PRIVILEGES;

    注意:不推荐通过 DELETE FROM USER u WHERE USER='..' 进行删除,系统会有残留信息保留。而drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表的相应记录都消失了。

    设置当前用户密码

    SET PASSWORD = PASSWORD('Van-Darkholme');

    其它写法:

    • 1. 使用ALTER USER命令来修改当前用户密码

            用户可以使用ALTER命令来修改自身密码,如下语句代表修 改当前登录用户的密码。基本语法如下:

    ALTER USER USER() IDENTIFIED BY 'new_password';
    
    • 2. 使用SET语句来修改当前用户密码

            使用root用户登录MySQL后,可以使用SET语句来修改密码,具体 SQL语句如下:

    SET PASSWORD='new_password';

    该语句会自动将密码加密后再赋给当前用户。

    修改其它用户密码

    • 1. 使用ALTER语句来修改普通用户的密码

            可以使用ALTER USER语句来修改普通用户的密码。基本语法形 式如下:

    1. ALTER USER user [IDENTIFIED BY '新密码']
    2. [,user[IDENTIFIED BY '新密码']]…;
    • 2. 使用SET命令来修改普通用户的密码

            使用root用户登录到MySQL服务器后,可以使用SET语句来修改普 通用户的密码。SET语句的代码如下:

    SET PASSWORD FOR 'username'@'hostname'='new_password';
    • 3. 使用UPDATE语句修改普通用户的密码(不推荐)

    1. UPDATE MySQL.user SET authentication_string=PASSWORD("123456")
    2. WHERE User = "username" AND Host = "hostname";

    MySQL8密码管理

    • 1.密码过期策略

    在MySQL中,数据库管理员可以手动设置账号密码过期,也可以建立一个自动密码过期策略。

    过期策略可以是全局的,也可以为每个账号设置单独的过期策略。

    ALTER USER user PASSWORD EXPIRE;
    • 2.密码重用策略

            手动设置密码重用方式1:全局

                    方式①:使用SQL

    1. SET PERSIST password_history = 6; #设置不能选择最近使用过的6个密码
    2. SET PERSIST password_reuse_interval = 365; #设置不能选择最近一年内的密码

                    方式②:my.cnf配置文件 

    1. [mysqld]
    2. password_history=6
    3. password_reuse_interval=365

            手动设置密码重用方式2:单独设置

    1. #不能使用最近5个密码:
    2. CREATE USER 'van'@'localhost' PASSWORD HISTORY 5;
    3. ALTER USER 'van'@'localhost' PASSWORD HISTORY 5;
    4. #不能使用最近365天内的密码:
    5. CREATE USER 'van'@'localhost' PASSWORD REUSE INTERVAL 365 DAY;
    6. ALTER USER 'van'@'localhost' PASSWORD REUSE INTERVAL 365 DAY;
    7. #既不能使用最近5个密码,也不能使用365天内的密码
    8. CREATE USER 'van'@'localhost'
    9. PASSWORD HISTORY 5
    10. PASSWORD REUSE INTERVAL 365 DAY;
    11. ALTER USER 'van'@'localhost'
    12. PASSWORD HISTORY 5
    13. PASSWORD REUSE INTERVAL 365 DAY;

  • 相关阅读:
    frp内网穿透—将kali代理在公网中进行渗透测试
    redis高可用之主从复制、哨兵模式、集群的概述及部署
    Apache Kafka 基于 S3 的数据导出、导入、备份、还原、迁移方案
    【AGC】集成华为AGC崩溃服务实用教程
    解决 Win11 微软拼音输入法下 JetBrains IDE Shift+F6 失效的问题
    【redis】ssm项目整合redis,redis注解式缓存及应用场景,redis的击穿、穿透、雪崩的解决方案
    一种在行末隐藏有效载荷的新供应链攻击技术研判
    煤炭行业数智化供应商管理系统解决方案:数据驱动,供应商智慧平台助力企业降本增效
    Redis 管道
    盘点 | 2022年上半年国内的电邮安全事件
  • 原文地址:https://blog.csdn.net/Trollz/article/details/125599393