用户权限设置
DML、DDL、DCL的区别
-
DML(data manipulation language)数据操纵语言
最经常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作
SELECT 列名称 FROM 表名称 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) DELETE FROM 表名称 WHERE 列名称 = 值
-
DDL(data definition language)数据库定义语言
在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。
DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化
CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... ) ALTER TABLE table_name ALTER COLUMN column_name datatype DROP TABLE 表名称 DROP DATABASE 数据库名称
-
DCL(Data Control Language)数据库控制语言
用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句
GRANT SELECT PRIVILEGES ON *.* TO 'dev'@'192.168.1.%' IDENTIFIED BY '1234' WITH GRANTOPTION
用户权限
mysql库中,db表中控制每个用户的所有权限,最细力度可以控制到一列
%代表所有的ip,一个%代表所有,192.168.%.%是代表对应的一段
用户标识:用户+ip
- GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root1234%’ WITH GRANT
对应上变的命令:复制 所有的 权限 哪个表 用户 设置密码来访问
- 刷新权限
flush privileges;
- GRANT SELECT PRIVILEGES ON . TO ‘dev’@‘192.168.1.%’ IDENTIFIED BY ‘1234’ WITH GRANTOPTION