8、权限管理

8.1、用户管理

1、使用Navicat创建用户,并授予权限演示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-044ny6Lf-1618736523935)(E:\学习\Topora\MySQL\image-20210418145719017.png)]

2、基本命令

/* 用户和权限管理 */ ------------------ 

用户信息表:mysql.user 

-- 刷新权限
FLUSH PRIVILEGES 
-- 增加用户 CREATE USER kuangshen IDENTIFIED BY '123456' 
CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串) 
	- 必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。 
	- 只能创建用户,不能赋予权限。 
	- 用户名,注意引号:如 'user_name'@'192.168.1.1' 
	- 密码也需引号,纯数字密码也要加引号 
	- 要在纯文本中指定密码,需忽略PASSWORD关键词。要把密码指定为由PASSWORD()函数返回的 混编值,需包含关键字PASSWORD 
	
-- 重命名用户 RENAME USER kuangshen TO kuangshen2 
RENAME USER old_user TO new_user 
	
-- 设置密码 
SET PASSWORD = PASSWORD('密码') -- 为当前用户设置密码 
SET PASSWORD FOR 用户名 = PASSWORD('密码') -- 为指定用户设置密码
	
-- 删除用户 DROP USER kuangshen2 
DROP USER 用户名 
	
	-- 分配权限/添加用户 
GRANT 权限列表 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] 'password'] 
	- all privileges 表示所有权限 
	- *.* 表示所有库的所有表 
	- 库名.表名 表示某库下面的某表 
	
-- 查看权限 SHOW GRANTS FOR root@localhost; 
SHOW GRANTS FOR 用户名 
	-- 查看当前用户权限 SHOW GRANTS; 或 SHOW GRANTS FOR CURRENT_USER; 或 SHOW GRANTS FOR CURRENT_USER(); 

-- 撤消权限 
REVOKE 权限列表 ON 表名 FROM 用户名 
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用户名 -- 撤销所有权限

权限解释

-- 权限列表 
ALL [PRIVILEGES] -- 设置除GRANT OPTION之外的所有简单权限 
ALTER -- 允许使用ALTER TABLE 
ALTER ROUTINE -- 更改或取消已存储的子程序 
CREATE -- 允许使用CREATE TABLE 
CREATE ROUTINE -- 创建已存储的子程序 
CREATE TEMPORARY TABLES -- 允许使用CREATE TEMPORARY TABLE 
CREATE USER -- 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL 
PRIVILEGESCREATE VIEW -- 允许使用CREATE VIEW 
DELETE -- 允许使用DELETE 
DROP -- 允许使用DROP TABLE 
EXECUTE -- 允许用户运行已存储的子程序 
FILE -- 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE 
INDEX -- 允许使用CREATE INDEX和DROP INDEX 
INSERT -- 允许使用INSERT 
LOCK TABLES -- 允许对您拥有SELECT权限的表使用LOCK TABLES 
PROCESS -- 允许使用SHOW FULL PROCESSLIST 
REFERENCES -- 未被实施 
RELOAD -- 允许使用FLUSH 
REPLICATION CLIENT -- 允许用户询问从属服务器或主服务器的地址 
REPLICATION SLAVE -- 用于复制型从属服务器(从主服务器中读取二进制日志事件) 
SELECT -- 允许使用SELECT 
SHOW DATABASES -- 显示所有数据库 
SHOW VIEW -- 允许使用SHOW CREATE VIEW 
SHUTDOWN -- 允许使用mysqladmin shutdown 
SUPER -- 允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句, 
mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。 
UPDATE -- 允许使用UPDATE 
USAGE -- “无权限”的同义词 
GRANT OPTION -- 允许授予权限 



/* 表维护 */ 

-- 分析和存储表的关键字分布 
ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE 表名 ... 
-- 检查一个或多个表是否有错误 
CHECK TABLE tbl_name [, tbl_name] ... [option] ... 
option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED} 
-- 整理数据文件的碎片 
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... 

8.2、MySQL备份

数据库备份必要性

  • 保证重要数据不丢失
  • 数据转移

MySQL数据库备份方法

  • mysqldump备份工具
  • 数据库管理工具,如Navicat
  • 直接拷贝数据库文件和相关配置文件

mysqldump客户端

作用 :

  • 转储数据库

  • 搜集数据库进行备份

  • 将数据转移到另一个SQL服务器,不一定是MySQL服务器

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MA15Af8n-1618736523938)(E:\学习\Topora\MySQL\image-20210418143405050.png)]

    -- 导出 
    1. 导出一张表 -- mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:/a.sql) 
    mysqldump -uroot -p123456 school student >D:/a.sql 
    2. 导出多张表 -- mysqldump -u用户名 -p密码 库名 表1 表2 表3 > 文件名(D:/a.sql) 
    mysqldump -uroot -p123456 school student result >D:/a.sql 
    3. 导出所有表 -- mysqldump -u用户名 -p密码 库名 > 文件名(D:/a.sql) 
    mysqldump -uroot -p123456 school >D:/a.sql 
    4. 导出一个库 -- mysqldump -u用户名 -p密码 -B 库名 > 文件名(D:/a.sql) 
    mysqldump -uroot -p123456 -B school >D:/a.sql 
    
    可以-w携带备份条件 
    
    -- 导入 
    1. 在登录mysql的情况下: -- source D:/a.sql 
    	source 备份文件 
    2. 在不登录的情况下 
    	mysql -u用户名 -p密码 库名 < 备份文件 
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值