MySQL用户授权、完全备份

1.用户授权
1.1 什么是用户权限:在数据库服务器上添加客户端连接时使用的用户,并设置访问权限
1.2 为什么要学习用户授权:默认值允许数据库管理员root用户本机登录
1.3 怎样配置用户授权:授权命令格式
mysql>granted 权限列表 on 数据库名 to 用户名@”ip地址” identified by “密码” with grant option;

权限列表:

个别权限 select(查看),insert(添加),update(更新),delete(删除)
例:update(name,uid)
所有权限 all
无权限 usage

数据库名:

.(点前星代表所有库名)
.
(点后星代表所有表名)
例:某个库 db3.*
所有库/表 .
用户名:客户端连接时使用的名字,授权时自定义即可

客户端地址:
localhost 代表本机
某一台主机 192.168.4.51
某个网段 192.168.4.%
所有主机 %
服务器本机 localhost
密码:连接时使用密码,要与数据库服务器的密码策略匹配.
with grant option 可选项,授权用户有执行grant命令的权限

相关命令
登录用户使用
select  user()	 显示登录用户名及客户端地址
show  grants	 用户显示自身访问权限
show grants for 用户名 @ "客户端地址"   管理员查看已有授权用户权限
set password for 用户名@"客户端地址"=password("密码") 管理员重置授权用户链接密码
drop user 用户名@"客户端地址"	  删除授权用户(必须有管理员权限)

授权库

mysql库记录授权信息,主要表如下:
user表 记录已有的授权用户及权限
db表 记录已有授权用户对数据库的访问权限
tables_priv 记录已有授权用户对的访问权限
columns_priv 记录仪有授权用户对字段的访问权限
撤销权限
命令格式
mysql>revoke 权限列表 on 库名.表 from 用户名@“客户端地址”;
root密码
恢复root密码
root密码忘了怎么办?
1.停止MYsql服务程序
2.跳过授权表启动MySQl服务程序

vim /etc/my.cnf	
[mysqld]
skip-grant-tables
:wq

3.修改root密码
4.以正常方式重启MySQL服务程序

重置root密码
mysqlAdmin -u root -p password”新密码”
Enter password://输入旧密码

2.完全备份

数据备份相关概念?
备份方式?
备份策略? 完全备份、备份新产生的数据(增量备份或差异备份)

完全备份及恢复
完全备份

mysqldump -u root -p密码 库名 > 目录/xxx.sql
完全恢复
mysql -u root -p密码 [库名] <目录/xxx.sql

备份时库名表示方式

–all-databases 或-A //所有库
数据库名 //单个库
数据库名 表名 //单张表
-B 数据库1 数据库2 //多个库
无论备份还是恢复,都要验证用户权限

增量备份

启用MySQL服务的binlog日志文件实现对数据的实时增量备份
使用binlog日志文件恢复数据
什么是binlog日志
① 也称作二进制日志
② MySQl服务日志文件的一种
③ 记录除查询之外的所有SQL命令
④ 可用于数据备份和恢复
⑤ 配置mysql主从同步的必要条件
启用日志

vim /etc/my.cnf
[mysqld]
log_bin
server_id=50

自定义日志文件名和存储目录
查看正在使用的日志文件
手动创建新的日志文件
systemctl restart mysqld
mysql>flush logs;
mysql -u root -p 123456 -e ‘flush logs’
mysqldump -u root -p 123456 --flush-logs db3 >/dbbak/db3.sql
删除已有的日志文件
删除指定编号之前的binlog日志文件
mysql> purge master logs to “binlog文件名”;
删除所有binlog日志,重建新日志
mysql >reset master;
修改日志记录格式
查看日志当前记录格式
三种记录格式:
1.statement 报表模式
2.row 行模式(默认模式)
3.mixed 混合模式
日志文件如何区分记录多条SQL命令(日志记录SQL命令的方式)
偏移量 --start-position=数字 --stop-position=数字
时间点 --start-datetime=”yyyy-mm-dd hh:mm:ss”
–stop-datetime=”yyyy-mm-dd hh:mm:ss”
mysqlbinlog --start-position=123 --stop-position=1529 /opt/plj.000002 | mysql -u root -p123456 (导入binlog日志起始偏移量123到结束偏移量1529结束导入 plj.000002的记录)
读取指定范围的SQL命令恢复数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值