zoukankan      html  css  js  c++  java
  • mysql用户账号、权限、密码管理

    一:用户账号管理

    查看当前可登录数据库的用户

    mysql>SELECT host,user FROM mysql.user;

     创建新用户

    mysql>CREATE USER username@host IDENTIFIED BY '密码';

     注意:username是用户名,host用于指定登录的主机,如果是本地用户用localhost,如果需要远程连接可以指定ip,或者使用“%”可以从任意主机登录。

    删除用户

    mysql>DROP USER pangpang@localhost ;

     修改用户名

    是对库名为mysql的数据库中的user表进行更新,这里别搞混了,不是ORACLE、SQLserver的那个mysql,以下默认皆是。

    mysql>USE mysql;
    mysql>UPDATE user SET USER="新用户名" WHERE USER ="旧用户名";

    或者直接指定哪个数据库和表名

     禁用账号

    mysql>ALTER USER pangpang@localhost ACCOUNT LOCK;

    启用账号

    mysql>ALTER USER pangpang@localhost ACCOUNT UNLOCK;

     二:用户密码管理

    修改用户密码

    mysql> ALTER USER pangpang@localhost IDENTIFIED BY "2wsx@WSX";

     设置密码有效期

    expire是失效、终止的意思

    mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE INTERVAL 100 DAY;

     禁用密码过期功能

    mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE NEVER;

    恢复默认用户密码策略

    mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE DEFAULT;

    三:用户权限管理

    Mysql 通过GRANT命令进行赋权操作

    常用权限参考

    usage 无权限
    
    SELECT 查询表记录
    
    INSERT 插入表记录
    
    UPDATE 更新表记录
    
    DELETE 删除表记录
    
    CREATE 创建库、表
    
    DROP 删除库、表
    
    RELOAD 有重新载入授权 必须拥有reload权限,才可以执行flush [tables | logs | privileges]
    
    SHUTDOWN 允许关闭mysql服务 使用mysqladmin shutdown 来关闭mysql
    
    PROCESS 允许查看用户登录数据库服务器的进程 ( show processlist; )
    
    FILE 导入、导出数据
    
    REFERENCES 创建外键
    
    INDEX 创建索引
    
    ALTER 修改表结构
    
    SHOW DATABASES 查看库
    
    SUPER 关闭属于任何用户的线程
    
    CREATE TEMPORARY TABLES 允许在create table 语句中使用 TEMPORARY关键字
    
    LOCK TABLES 允许使用 LOCK TABLES 语句
    
    EXECUTE 执行存在的Functions,Procedures
    
    REPLICATION SLAVE 从主服务器读取二进制日志
    
    REPLICATION CLIENT 允许在主/从数据库服务器上使用 show status命令
    
    CREATE VIEW 创建视图
    
    SHOW VIEW 查看视图
    
    CREATE ROUTINE 创建存储过程
    
    ALTER ROUTINE 修改存储过程
    
    CREATE USER 创建用户
    
    EVENT 有操作事件的权限
    
    TRIGGER, 有操作触发器的权限
    
    CREATE TABLESPACE 有创建表空间的权限

    GRANT命令的常见格式

    命令解析

    作用

    GRANT 权限 ON 数据库.表单名称 TO 账户名@主机名

    对某个特定数据库中的特定表单赋权

    GRANT 权限 ON 数据库.* TO 账户名@主机名

    对某特定数据库中的所有表单赋权

    GRANT 权限 ON *.* TO 账户名@主机名

    对所有数据库及其所有表单赋权

    GRANT 权限1,权限2 ON 数据库.* TO 账户名@主机名

    对某数据库的所有表单赋多个权

    GRANT ALL PRIVILEGES ON *.* TO 账户名@主机名

    对全部数据及表单赋予所有权限(慎用)

    查看当前用户的权限

    mysql> SHOW GRANTS;

     查看特定用户的权限

    mysql> SHOW GRANTS FOR pangpang@localhost;

     给用户添加某权限

    mysql>GRANT UPDATE ON *.* TO pangpang@localhost;

     赋予多项权限用逗号隔开

    mysql>  GRANT DELETE,CREATE ON *.* TO pangpang@localhost;

     删除用户某项权限

    mysql> REVOKE DELETE ON *.* FROM pangpang@localhost;

     同时删除所有权限

    mysql> REVOKE ALL ON *.* FROM pangpang@localhost;
  • 相关阅读:
    scss使用指南--每天一点
    Egret引擎开发基础(一)
    vue-awesome-swiper使用自动轮播和循环轮播不生效(loop和autoplay)
    Vue项目中title的设置,使用document.title返回时不生效
    charles系列破解激活注册码
    Vscode中vue项目中无法对js进行提示
    JS数组与对象的遍历方法大全
    手把手教你用webpack3搭建react项目(开发环境和生产环境)(二)
    服务器安装redis-stat和easyNmon
    Shell备份数据库
  • 原文地址:https://www.cnblogs.com/maohai-kdg/p/11810844.html
Copyright © 2011-2022 走看看