语法:
GRANT 权限 ON 库.表 TO '用户名'@'主机名' IDENTIFIED BY '密码';权限包括:
SELECT 查询INSERT 添加DEELTE 删除UPDATE 修改库:
库名.表名. 表示所有库和所有表用户名和主机名:
用户名自己取,但一般根据职务不同,分配的名字都具有意义,比如李哥团队,li_user1..主机名,本地的是使用localhost即可,远程的需要知道远程服务器的IP地址。密码:
一般密码都是有意义并且复杂性奇高的,基本外人感觉就是乱码,常用的是md5加密,复杂性越高,别人相对的越不容易破解。1 -- 给李哥团队分配所有库所有表设置查询权限2 GRANT SELECT ON *.* TO 'li_user1'@'localhost' IDENTIFIED BY 'lige123';3 -- 给李哥团队的小弟小李子分配test库的查询权限4 GRANT SELECT ON test.* TO 'li_user2'@'localhost' IDENTIFIED BY 'lige123';
查询所有用户
在mysql数据库有,本身就有一个mysql的库,里面有一张表叫user表,存放了数据库所有的用户
名,它的字段是user,host,查询这两个字段,即可查询出所有的用户。1 SELECT user,host FROM mysql.user;
删除普通用户
当一个员工离职,我们需要删除对应的普通用户,再分配新的用户权限给它。
语法:DROP USER '用户名'@'主机名';1 -- 删除李哥团队小李子的用户名2 DROP USER'li_user2'@'localhost';
修改数据库密码
当我们的密码暴露了或者感觉不安全了,可以进行修改。
修改ROOT管理员密码
语法:SET PASSWORD = PASSWORD('新密码');1 -- 新密码使用mysql提供的password函数进行更改。2 SET PASSWORD = PASSWORD('root');
ROOT修改普通用户密码
语法:
SET PASSWORD FOR '用户名'@'主机名'=PASSWORD('新密码');1 -- 修改李哥团队的密码为lige4562 SET PASSWORD FOR 'li_user1'@'localhost'=PASSWORD('lige456');
授权
授权的意思是,将自己某些权限给别人使用。
语法:GRANT 权限 ON 库名.表名 TO ’用户名‘@'主机名' IDENTIFIED BY '密码';1 -- 给大米团队所有权限,密码1234562 GRANT ALL ON *.* TO 'dami'@'localhost' IDENTIFIED BY '123456';
查看和权限收回
发现给大米团队的权限太高了,需要收回权限。
查看权限语法:SHOW GRANTS FOR '用户名'@‘主机名’1 -- 查看大米团队的权限,注意:查看权限GRANTS后面有个复数S2 SHOW GRANTS FOR 'dami'@'localhost';
收回权限
语法:REVOKE 要收回的权限 ON 库名.表名 FROM '用户名'@'主机名';1 -- 收回大米团队的删除权限2 REVOKE DELETE ON *.* FROM 'dami'@'localhost';
数据的导出和导入
导出数据库
注意:此语句没有分号
语法:mysqldump -u 用户名 -p 库名 表名> 保存路径1 -- 导出整个test库2 mysqldump -uroot -p test>C:\31.sql3 Enter password:*****4 -- 只导出test库的其中一张表5 mysqldump -uroot -p test t6>C:\31.sql
导入数据库
首先必须准备一个空的数据库
语法:mysql -u用户名 -p 库名 < 保存的路径1 ysql -uroot -p ss28