一、实现主从备份功能的准备主从备份的基本原理
mysql支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,并在本机上执行相同的更新。然后封锁并等待主服务器通知新的更新。从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新。
此测试环境MySQL为5.6.33版本,从服务器(slave)的MySQL版本必须高于主服务器(master)MySQL的版本
主服务器IP:192.168.10.128
从服务器IP:192.168.10.130
二、设置主(master)服务器[192.168.10.128]相关配置2.1 在主MySQL(master)上创建从MySQL(slave)的备份用户
SQL
参数说明:
backup --> 用户名
123456 --> 用户密码
192.168.10.130 --> 从服务器IP
注意:
此帐号主要开放给从MySQL连接主MySQL使用的
2.2 开启主MySQL的binarylog
Bash
vim
重启MySQL服务
Bash
进入MySQL控制台
Bash
查看binlog状态
SQL
说明开启bin-log成功
2.3 获取主服务器状态以及同步状态(如果为新服务器可以忽略)
锁定数据库
SQL
导出数据库
Bash
查看binlog状态
SQL
注意:File列和Position列的值需要记录,配置从服务器时需要用到。
解锁数据库
SQL
三、设置从(slave)服务器[192.168.10.130]相关配置3.1 开启bin-log配置
Bash
vim
3.2 导入主库的数据(初始状态)
SQL
Bash
3.3 开启同步
如果非首次开启同步,需要执行stop slave;
SQL
重启MySQL
Bash
查询状态
SQL
如果看见下面两个参数是yes说明成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
四、配置过程中需要注意的事项
4.1 主服务器的3306端口是否开启,账号密码是否正确
4.2 查看mysql的错误日志
Bash
找到--log-error的路径就是错误日志文件的位置
4.3 以上配置属于主(master)->从(slave)的单向配置,修改从服务器的数据,从服务器是不会同步的。如果想主从循环同步,请看
4.4 建议在配置主从备份的时候把不需要的日志文件进行清理
4.5 如遇到不明白的问题请百度或谷歌。
五、主从循环配置5.1 主(从)服务器[192.168.10.130]器配置5.1.1 在从服务器上添加账户,让主服务器访问
SQL
5.1.2 修改my.cnf配置文件
Bash
vim
重启mysql服务器
Bash
这里就不需要处理数据初始状态了,因为两边的数据是同步的。
查看状态信息
SQL
这里需要记住File和Position的值,后面设置从数据库是需要用到。
5.2 从(主)服务器[192.168.10.128]配置5.2.1 设置my.cnf配置文件
Bash
vim
重启mysql服务
Bash
SQL
重启mysql服务
Bash
查询状态
SQL
领取专属 10元无门槛券
私享最新 技术干货