mysql用户账号权限密码管理
Posted 胖胖小飞侠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
以上是关于mysql用户账号权限密码管理的主要内容,如果未能解决你的问题,请参考以下文章