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;
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;
查看下面的兩項均為yes,即表示成功:
Slave_IO_Running:YES
Slave_SQL_Running:YES
6.進入主庫測試建立一個表,然后進入從庫查看是否也同步建立了,即可測試是否成功了。