先从主数据库dump数据到从库完成数据的备份mysql
在主库中建立一个热备帐号,而且受权replication slave权限:sql
grant replication slave on *.* to "slave"@"192.168.3.206" identified by "admin" flush privileges;
修改主库的配置文件,并添加以下的配置。数据库
sudo vim /etc/my.cnf
server-id=2 //此处的server id是惟一的,主从库不能同样 log-bin=bin-log //二进制日志的文件名 binlog-do-db=databasename //你要备份的数据库 binlog-ignore-db =mysql //不须要备份的数据库
重启mariaDBvim
systemctl restart mariadb
在主库中查看主从状态ide
show slave status\G;
File: bin-log.000003 //注意 Position: 10646 //此处File以及Position的数据会用于从库的配置 Binlog_Do_DB:databasename Binlog_Ignore_DB:mysql 1 row in set (0.00 sec)
更改从库配置,添加如下测试
server-id=3//此处的server id是惟一的,主从库不能同样 log-bin=bin-log //二进制日志的文件名 replicate-do-db=databasename //你要备份的数据库 replicate-ignore-db=mysql,information_schema,performance_schema
重启mariadbspa
systemctl restart mariadb
登录从库MariDB,先中止掉slave3d
stop slave;
更改热备配置rest
Change master to master_host="192.168.3.205",master_port=3306, master_user="backups",master_password="admin",master_log_file="bin-log.000003",master_log_pos=19879;
master_host="主库的IP地址"
master_port=数据库端口
master_user="你所建立的用于热备的帐号"
master_password="热备帐号的密码"
"master_log_file"和"master_log_pos"须要与主库show master statusG;显示的数据一致。日志
而后开启slave。
start slave;
查看一下状态
show slave status\G;
Slave_IO_Running: Yes Slave_SQL_Running: Yes
此处两项若是显示为Yes,那么基本上是成功了,在主库创建一个表,而后查看从库是否也同步创建,便可测试是否成功。
P.S.储存sql的时候必须包含数据,仅储存结构会致使两个库的数据不一致致使错误。