版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
文章目录
此学习文是基于MySQL 8.0写的
得益于大神朋友的悉心指导解决不少坑,才写出此文,向大神奉上膝盖
二进制日志是时间点恢复所需要的。既可以从从服务器
也可以从主服务器
进行二进制日志备份。如果你正在从主服务器
进行二进制日志备份,并在从服务器
进行实际备份,则应使用--dump-slave
获取相应的主日志位置。如果你使用的是mydumper或XtraBackup,则主
和从
二进制日志位置会被同时提供。
创建一个复制用户
mysql> create user 'binlog_user'@'%' identified with mysql_native_password by 'Study@2019';
Query OK, 0 rows affected (0.02 sec)
mysql> grant replication slave on *.* to 'binlog_user'@'%';
Query OK, 0 rows affected (0.00 sec)
检查服务器上的二进制日志
mysql> show binary logs;
+---------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+---------------+-----------+-----------+
| binlog.000003 | 178 | No |
| binlog.000004 | 178 | No |
| binlog.000005 | 178 | No |
| binlog.000006 | 178 | No |
| binlog.000007 | 2386 | No |
+---------------+-----------+-----------+
5 rows in set (0.00 sec)
你可以在服务器上找到第一个可用的二进制日志,可以从这里开始备份。在这个例子中,它是binlog.000003。
执行备份
登录到备份服务器并执行以下命令,会将二进制日志从MySQL服务器复制到备份服务器。你可以使用nohup
或disown
# nangy @ nangy-vm in ~ [15:48:36]
$ mysqlbinlog -u <user> -p<pass> -h <server> --read-from-remote-server --stop-never --to-last-log --raw binlog.000003 &
# nangy @ nangy-vm in ~ [15:48:36]
$ disown -a
验证备份进度
# nangy @ nangy-vm in ~ [15:48:36]
$ ll binlog.00000*