提示:文章写完后,目录可以自动生成,怎样生成可参考右边的帮助文档
前言
一、数据库的备份与还原
1 使用命令行
- 命分行:
- 语法
- 备份: mysqldump -u用户名 -p密码 数据库名 > 生存的路径(.sql文件)
- 还原:
1.登录数据库
2.创建数据库
3.使用数据库
4.实验文件 source 文件路径
备份:
看一下备份的.sql里面有什么?
可以看到里面的其实就是将数据库里面的表重新创建并插入数据。
所以这种恢复数据库的方式,需要我们重新创建数据库才行
恢复:
这样就恢复了。
2 使用图形化工具
- 图形化工具:
这个就比力简朴了,但是恢复同样要先创建数据库
备份:
恢复:
同样要先将数据库创建出来
二、DCL 管理用户、授权
DBA:数据库管理员
1 管理用户
(1)查询用户
查询用户:MySQL的用户在mysql数据库下的user表中,我们直接查询这张表就可以了
- 1 切换到mysql数据库
USE myql;
- 2 查询user表
SELECT * FROM USER;
- -- 1 切换到mysql数据库
- use mysql;
- -- 2 查询user表
- select * from user;
复制代码
解释:
(1)此中root就是我们的根用户,Host指定的是允许登录的主机ip,假如是%就表明运行在任意ip登录
(2)别的三个账号是就不用管了,原来就有的。
(3)在表中用户password是加密的,所以我们看不到
(2)创建用户
我们不能直接往user表中insert数据,应该使用专门的创建用户语法
- 语法: CREATE USER ‘用户名’@‘地址’ IDENTIFIED BY ‘密码’;
- -- 创建一个zhangsan用户,密码111111
- create user 'zhangsan'@'localhost' identified by '111111';
- -- 创建一个lisi用户,密码123
- create user 'lisi'@'%' identified by '123'; -- 其中统配符 % 表示可以在任意ip主机上使用这个账户登录
- -- 2 查询user表
- select * from user;
复制代码
cmd中也能用lisi用户登录:
(3)删除用户
- 语法:DROP USER ‘用户名’@‘主机名’;
- -- 删除'zhangsan'@'localhost'用户
- drop user 'zhangsan'@'localhost';
- -- 删除'lisi'@'%'用户
- drop user 'lisi'@'%';
复制代码 (4)修改用户密码
- 语法: ALTER USER ‘username’@‘host’ IDENTIFIED BY ‘new_password’;
根据mysql版本不同,这个语法也有些不同
当然,这个连root用户密码都可以这样修改
- -- 修改 'lisi'@'%' 用户的密码为666666
- ALTER USER 'lisi'@'%' IDENTIFIED BY '666666';
复制代码
(5)mysql中忘记了root用户密码怎么办?
这个就有点贫困了,这里就不演示了,直接参考视频
- step1:cmd --> net stop mysql
停止mysq1服务
需要管理员权限运行该cmd
- step2:使用无验证方式启动mysql服务: mysqld --skip-grant-tables
- step3:打开一个新的cmd窗口,直接输入mysql命分,敲回车。就可以登录成功
- step4:use mysql;
- step5:update user set password = password(‘你的新密码’) where user =‘root’;
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new_password’;
ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘new_password’;
这个根据你有没有%这种全部ip都能访问的root账号选择(所以这个很贫困),通常环境下mysql只会给你创建一个’root’@‘localhost’,但也说不定
这个就是上面修改用户密码,有好几种语法·,根据mysql的般本不同有的可能不行了,多找几个试试
- step6:关闭两个窗口
- step7:打开任务管理器,手动结束mysqld.exe 的进程
- step8:启动mysql服务
- step9:使用新密码登录。
2 用户权限授予
参考视频
(1)查询某个用户权限
- -- 查询 ‘lisi’@‘%’ 用户的权限
- show grants for 'lisi'@'%';
复制代码
可以看到只有一个usage(登入)的权限
- -- 查询root用户的权限
- show grants for 'root'@'localhost';
复制代码
可以看到root有全部的权限,select,insert等等
(2)授予某个用户某些权限
- 语法: grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’;
可以使用通配符,看下面例子
- -- 给 'lisi'@'%' 用户授予查询db01.tb_emp表的权限
- grant select on db01.tb_emp to 'lisi'@'%';
- -- 给 'lisi'@'%' 用户授予查询db01下所有表的权限
- grant select on db01.* to 'lisi'@'%';
- -- 给 'lisi'@'%' 用户授予查询,插入,更新,删除db01.tb_emp表的权限
- grant select,insert,update,delete on db01.tb_emp to 'lisi'@'%';
- -- 给张三用户授予所有权限,在任意数据库,在任意表上,想当于root权限
- grant all privileges on *.* to 'zhangsan'@'localhost';
复制代码 (3)撤销某个用户某些权限
- 语法:revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’;
- -- 撤销 'lisi'@'%' 用户对db01.tb_emp表的查询权限
- revoke select on db01.tb_emp from 'lisi'@'%';
- -- 撤销 'lisi'@'%' 用户对db01.tb_emp表的所有权限
- revoke all privileges on db01.tb_emp from 'lisi'@'%';
- -- 撤销;’zhangsan'@'localhost'用户的所有权限, 撤销后,只会剩下USAGE登入权限
- revoke all privileges on *.* from 'zhangsan'@'localhost';
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |