LinuxMySQL数据库备份——mysqldump+binlog

首页 编程分享 LINUX丨SYSTEM 正文

是维C呀 转载 编程分享 2023-03-04 23:37:04

简介 mysqldump工具是mysql自带的一个非常方便的一款小工具,存在mysql安装目录的/usr/local/mysql/bin下,是CentOS自带的一款工具,它还支持热备份。 优势:自动记录日志position位置(show master status\G;),可用性,...


mysqldump工具是mysql自带的一个非常方便的一款小工具,存在mysql安装目录的/usr/local/mysql/bin下,是CentOS自带的一款工具,它还支持热备份。

优势:自动记录日志position位置(show master status\G;),可用性,一致性,具有锁表机制。

mysqldump  -h 服务器  -u用户名  -p密码   数据库名  > 备份文件.sql
库的范围包括
-A, --all-databases 所有库 school 数据库名 school stu_info t1 是指school数据库的表stu_info、t1
-B, --databases bbs test mysql 多个数据库

–single-transaction #InnoDB 一致性 服务可用性
–master-data=1|2 #该选项将会记录binlog的日志位置与文件名并追加到文件中,或添加注释 --opt #同时启动各种高级选项
-R, --routines #备份存储过程和存储函数 -F, --flush-logs #备份之前刷新日志,截断日志。备份之后新binlog。
–triggers #备份触发器 mysqldump --help 帮助

请准备两套root密码

密码1 XieDongwy@163 配置到当前数据库中 密码2 XieDongwy@1633 备用

mysqldump -p'XieDongwy@163' \                      执行备份
--all-databases --single-transaction \
--master-data=2 \                            注释掉日志记录
--flush-logs \
>  /backup/`date +%F-%H`-mysql-all.sql
vim /backup/2016-11-25-14-mysql-all.sql          查看备份文件
LOCK TABLES `user` WRITE;                              观察各种锁机制,用来保证数据一致性

备份后的,数据变更行为

在testdb2.t2 中插入数据1,2,3;
创testdb3库
切断二进制日志(重启数据库)

mysql> select * from testdb2.t2;
+------+
| id   |
+------+
|    1 |
|    2 |
|    3 |
+------+

在testdb2.t2 中插入数据4;
删testdb3库
在testdb2.t2 中插入数据5;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| testdb1            |
| testdb2            |
+--------------------+
12 rows in set (0.00 sec)

mysql>

恢复

cp /var/lib/mysql/*bin* ~     备份二进制日志文件    
systemctl stop mysqld          停止数据库
rm -rf /var/lib/mysql/*          清理环境
systemctl start mysqld          启动数据库
grep 'password' /var/log/mysqld.log       查找找密码,并改为密码2
mysqladmin -uroot -p'密码' password  ' XieDongwy@1633 '
mysql -p' XieDongwy@1633 ' < /backup/2016-12-08-04-mysql-all.sql
mysql -p'XieDongwy@1633 ' -e 'flush privileges'

二进制日志恢复

vim /backup/2016-11-25-14-mysql-all.sql
CHANGE MASTER TO MASTER_LOG_FILE='localhost-bin.0000010', MASTER_LOG_POS=154;
mysqlbinlog localhost-bin.000002 localhost-bin.000003
 --start-position=154  | mysql -p'XieDongwy@163'

转载链接:https://my.oschina.net/vicvc/blog/5025226


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云