MariaDB双机热备份实现

时间:2022-09-23 14:15:01

1.现在两台机器上安装MariaDB;
2.主从备份是要求初始的数据一致的,如果不一致,请先从主数据库dump数据到从库完成数据的备份,然后要注意的是主库的版本一定要小于等于从库的数据库版本,其实最好的是两个数据库版本是一致的;
3.在主库上创建一个热备账号,并且拥有replication slave权限;
GRANT REPLICATION SLAVE ON *.* TO "username"@"SlaveIP" IDENTIFIED BY "userpassword";
再刷新状态;
FLUSH PRIVILEGES;
从库通过mysql –h slaveIP –P port –u username –p userpassword去测试是否账号设置无误,是否能连接通;

4.更改主库my.conf配置,vi /etc/my.conf打开配置,如果不存在就增加一下配置:
server-id=1 //如果此项已经存在不添加
log-bin=mysql-bin //如果此项已经存在不添加
binlog-do-db=databasename //要记录日志的数据库,databasename为要热备的数据库名称,如果要备份多个库,起一行再次添加此句
binlog-do-db=databasename2 //要备份的第二个数据库, ….
binlog-ignore-db =mysql //此为不需要记录日志的数据库

重新启动MariaDB服务,systemctl restart mariadb;
启动完成后查看是否是running状态;
systemctl status mariadb;
如果启动有误,则是配置有误,修改配置无误之后再重启查看状态;
进入mariaDb服务输入show master status\G;

 MariaDB双机热备份实现

 

5.再进入从库的地址,输入vi /etc/my.cnf配置从库
server-id=2 //次ID必须不能跟主服务器的IP相同
log-bin=mysql-bin //如果此项已经存在不添加
replicate-do-db=databasename //要记录日志的数据库,databasename为要热备的数据库名称,如果要备份多个库,起一行再次添加此句
replicate-do-db=databasename2 //要备份的第二个数据库,….
replicate-ignore-db=mysql,information_schema,performance_schema

重新启动MariaDB服务,systemctl restart mariadb;
启动完成后查看是否是running状态;
systemctl status mariadb;

成功后进入从库数据库,输入stop slave;
更改热备配置:
Change master to master_host="masterIP",master_port=masterport, master_user="username",master_password="userpassword", master_log_file="mysql-bin.000xxx“,master_log_pos=position;


master_log_file 和 master_log_pos和上面主库show master status\G;显示的数据要一致;
然后启动 start slave;

输入show slave status\G;

MariaDB双机热备份实现

 


查看下面的两项均为yes,即表示成功:
Slave_IO_Running:YES
Slave_SQL_Running:YES

6.进入主库测试建立一个表,然后进入从库查看是否也同步建立了,即可测试是否成功了。