您的位置:首页 > 数据库 > MySQL

mysql学习笔记(7-DCL命令用户账号及权限管理)

2017-05-15 16:15 555 查看
用户账号及权限管理:

用户账号:'username'@'host'
host:此用户访问当前mysql服务器时,允许其通过哪些主机远程创建连接;
表示方式:IP,网络地址、主机名、通配符(%和_);

禁止检查主机名:my.cnf
[mysqld]
skip_name_resolve = ON

创建用户账号:
CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];

删除用户账号:
DROP USER ’user‘@’host' [, user@host] ...

授权:
权限级别:管理权限、数据库、表、字段、存储例程;
GRANT priv_type,... ON [object_type] db_name.tbl_name TO 'user'@'host' [IDENTIFIED BY 'password'];
priv_type: ALL [PRIVILEGES]
db_name.tbl_name:
*.*:所有库的所有表;
db_name.*:指定库的所有表;
db_name.tbl_name:指定库的特定表;
db_name.routine_name:指定库上的存储过程或存储函数;
[object_type]
TABLE
FUNCTION
PROCEDURE
查看指定用户所获得的授权:
SHOW GRANTS FOR 'user'@'host'
SHOW GRANTS FOR CURRENT_USER;

回收权限:
REVOKE priv_type, ... ON db_name.tbl_name FROM 'user'@'host';

注意:MariaDB服务进程启动时,会读取mysql库的所有授权表至内存中;
(1) GRANT或REVOKE命令等执行的权限操作会保存于表中,MariaDB此时一般会自动重读授权表,权限修改会立即生效;
(2) 其它方式实现的权限修改,要想生效,必须手动运行FLUSH PRIVILEGES命令方可;

加固mysql服务器,在安装完成后,运行mysql_secure_installation命令;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql