先從主數據庫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的時候必須包含數據,僅儲存結構會致使兩個庫的數據不一致致使錯誤。