1、用户管理
1 、使用 SQLyog 创建用户,并授予权限演示
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 kuangshen2RENAME USER old_user TO new_user-- 设置密码SET PASSWORD = PASSWORD( ' 密码 ' ) -- 为当前用户设置密码SET PASSWORD FOR 用户名 = PASSWORD( ' 密码 ' ) -- 为指定用户设置密码-- 删除用户 DROP USER kuangshen2DROP 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 FORCURRENT_USER();-- 撤消权限REVOKE 权限列表 ON 表名 FROM 用户名REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用户名 -- 撤销所有权限
权限解释
-- 权限列表ALL [PRIVILEGES] -- 设置除 GRANT OPTION 之外的所有简单权限ALTER -- 允许使用 ALTER TABLEALTER ROUTINE -- 更改或取消已存储的子程序CREATE -- 允许使用 CREATE TABLECREATE ROUTINE -- 创建已存储的子程序CREATE TEMPORARY TABLES -- 允许使用 CREATE TEMPORARY TABLECREATE USER -- 允许使用 CREATE USER, DROP USER, RENAME USER 和 REVOKE ALLPRIVILEGES 。CREATE VIEW -- 允许使用 CREATE VIEWDELETE -- 允许使用 DELETEDROP -- 允许使用 DROP TABLEEXECUTE -- 允许用户运行已存储的子程序FILE -- 允许使用 SELECT...INTO OUTFILE 和 LOAD DATA INFILEINDEX -- 允许使用 CREATE INDEX 和 DROP INDEXINSERT -- 允许使用 INSERTLOCK TABLES -- 允许对您拥有 SELECT 权限的表使用 LOCK TABLESPROCESS -- 允许使用 SHOW FULL PROCESSLISTREFERENCES -- 未被实施RELOAD -- 允许使用 FLUSHREPLICATION CLIENT -- 允许用户询问从属服务器或主服务器的地址REPLICATION SLAVE -- 用于复制型从属服务器(从主服务器中读取二进制日志事件)SELECT -- 允许使用 SELECTSHOW DATABASES -- 显示所有数据库SHOW VIEW -- 允许使用 SHOW CREATE VIEWSHUTDOWN -- 允许使用 mysqladmin shutdownSUPER -- 允许使用 CHANGE MASTER, KILL, PURGE MASTER LOGS 和 SET GLOBAL 语句,mysqladmin debug 命令;允许您连接(一次),即使已达到 max_connections 。UPDATE -- 允许使用 UPDATEUSAGE -- “ 无权限 ” 的同义词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] ...
2、MySQL备份
数据库备份必要性
- 保证重要数据不丢失
- 数据转移
MySQL
数据库备份方法
- mysqldump备份工具
- 数据库管理工具,如SQLyog
- 直接拷贝数据库文件和相关配置文件
mysqldump
客户端
作用
:
- 转储数据库
- 搜集数据库进行备份
- 将数据转移到另一个SQL服务器,不一定是MySQL服务器
-- 导出1 . 导出一张表 -- mysqldump -uroot -p123456 school student >D:/a.sqlmysqldump -u 用户名 -p 密码 库名 表名 > 文件名 (D:/a .sql )2 . 导出多张表 -- mysqldump -uroot -p123456 school student result >D:/a.sqlmysqldump -u 用户名 -p 密码 库名 表 1 表 2 表 3 > 文件名 (D:/a .sql )3 . 导出所有表 -- mysqldump -uroot -p123456 school >D:/a.sqlmysqldump -u 用户名 -p 密码 库名 > 文件名 (D:/a .sql )4 . 导出一个库 -- mysqldump -uroot -p123456 -B school >D:/a.sqlmysqldump -u 用户名 -p 密码 -B 库名 > 文件名 (D:/a .sql )可以 -w 携带备份条件-- 导入1 . 在登录 mysql 的情况下: -- source D:/a.sqlsource 备份文件2 . 在不登录的情况下mysql -u用户名 -p 密码 库名 < 备份文件