• Mysql相关操作命令合集


    参考文档:2021-06-25MySQL8.0创建用户和权限控制 - 简书

    mysql登陆命令:

    mysql  -u用户名 -p密码;

    若遇到复杂密码,包含特殊字符,则需要做转义(以下密码为:rootry?elyl!):

    mysql -uroot -prootry\?elyl\!

    重置密码命令(mysql8.0.25):

    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

    创建用户:

    host:指定该用户在哪个主机上可以登陆,从本地登录填localhost,或者IP(192.168.98.1),任意主机登陆填通配符%
    password:登陆密码,密码可以为空,如果为空则该用户可以不需要密码也可登陆

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';

    授权:

    privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
    databasename:数据库名,如果授予整个数据库权限填databasename.*
    tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

    1. GRANT privileges ON databasename.tablename TO 'username'@'host';
    2. grant select on test.* to 'query'@'%';

    取消授权:

    mysql只有授权没有禁止,因此取消授权就是将原来授权过的权限和范围原样取消。

    1. REVOKE privilege ON databasename.tablename FROM 'username'@'host';
    2. revoke select on test.* from 'query'@'%';

    若授权的是test.*,取消授权时为test.t_emp,则无法取消。

    若需要对某张表进行授权排除,则只能对除这张表外的所有表进行授权。此时可以通过查询拼接语句的方式,找出除这张表外其他表的授权语句,再进行批量执行:

    1. select concat('grant select on lmehr.',table_name,' to \'query\'@\'%\';')
    2. from information_schema.tables
    3. where table_schema = 'lmehr'
    4. and table_name !='t_table_a'
    5. and table_name !='t_table_b'
    6. and table_name !='t_table_c'
    7. and table_name !='t_table_d'
    8. and table_name !='t_table_e'
    9. and table_name !='t_table_f'
    10. and table_name !='t_table_g'
    11. and table_name !='t_table_h'

    查看所有授权:

    1. SHOW GRANTS FOR 'USERNAME'@'HOST';
    2. show grants for 'query'@'%';
  • 相关阅读:
    Spring 4.x版本新特性
    kafka-go操作kafka
    C语言之文件操作
    【mmaction2 入门教程】 slowfast训练配置 日志分析 测试结果分析
    C#WPF资源字典应用实例
    自定义对象_JavaScript
    y135.第七章 服务网格与治理-Istio从入门到精通 -- 网格和SSO(二一)
    Django Form实现表单使用及应用场景
    BIOS开发笔记 – 显示
    网络安全-学习手册
  • 原文地址:https://blog.csdn.net/zxl13735005529/article/details/134413694