2018mysql5.7.21主從異地熱備份(容災)

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/weixin_40933787/article/details/79471955

mysql5.7.21版本主從異地熱備份

數據庫版本:5.7.21
這裏寫圖片描述

1.兩臺ip地址:

服務器A(ubuntu):192.168.10.68

這裏寫圖片描述

服務器B(window):192.168.10.167

這裏寫圖片描述

2.開啓服務器A的log_bin以及授權服務器B的登錄訪問

ubuntu的默認配置路徑是在:

cd /etc/mysql/mysql.conf.d
vi mysqld.cnf

注意:mysql.cnf默認權限是644 ,只讀
需要修改文件權限:

sudo chmode 777 mysqld.cnf

修改文件權限完成後,增加下圖的幾條:
binlog_do_db = database
說明:database是你要備份的數據庫(我備份的數據庫名是cl)

vi mysqld.cnf

在【mysqld】中修改配置項:
這裏寫圖片描述
網上都有具體說明:
注意的地方:server_id =3:這個3不要和從服務器的server_id 一樣就ok,注意是下劃線”_”不是-.,我這裏是用的3.
配置完成後保存
1:esc鍵:
:wq保存
需要把可讀權限改過來

sudo chmod 644 mysqld.cnf

進入數據庫

命令行:
mysql -u root -p password
(root是你的用戶名,password是你數據庫的密碼)

查看二進制log_bin是否開啓

show variables like ‘%log_bin%’;

這裏寫圖片描述

查看master狀態

show master status\G;

這裏寫圖片描述

給從服務器B授權(開個mysql賬戶,綁定服務器B的IP,設置個登錄密碼)

grant replication slave on *.* to 'slave_user'@'192.***.***.***' identified by 'mysql';

上面把ip地址換成B機器的ip地址。 只允許B登錄。安全。

用戶名爲: slave_user

密碼爲: mysql

這個等會在B上面要用。

到這裏主服務器配置完成。


從服務器配置

我用的是在window的數據庫,配置項是my.ini,如果找不到可以直接在你電腦左下角[開始]搜索文件 :my.ini.
這裏寫圖片描述

修改my.ini配置文件

這裏寫圖片描述
落了一步:補上/2018/3/20

MySQL從5.1.7以後開始就不支持在my.cnf中對master-host等參數進行配置,而是使用了CHANGE MASTER TO語句。

mysql> CHANGE MASTER TO MASTER_HOST='server1',
    -> MASTER_USER='user_name',
    -> MASTER_PASSWORD='password',
    -> MASTER_LOG_FILE='mariadb_bin.000036',
    -> MASTER_LOG_POS=3379;

這裏最後填的兩個就是第3步看到的File和position。
然後就可以開始同步了:

mysql> START SLAVE;

可以看一看Slave的運行狀態

查看從服務器B數據庫的狀態

show slave status\G;

這裏寫圖片描述

注意:兩個線程一定要開啓,剛開始可能會報錯,說你的ids一樣,修改server_id兩個不同就ok的,修改過後一定要重啓後才能生效,一定要重啓mysql。

所有配置完成!perfect!
可以查看,你在主服務器A上mysql做的增刪改查,都會映射到從服務器B上的mysql中,
需要注意的是,你關機重啓後,第二天你電腦的ip地址就變了。還需要修改ip地址。還要log_bin你關機重啓也會更改。
許多事情都是在你摸索中慢慢理解。本文僅供參考。
歡迎csdn的朋友們留言評論,不懂的地方您評論我會及時給您回覆!謝謝。大家一起學習,共同進步!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章