?主從同步的定義
主從同步使得數(shù)據(jù)可以從一個數(shù)據(jù)庫服務(wù)器復(fù)制到其他服務(wù)器上,在復(fù)制數(shù)據(jù)時,一個服務(wù)器充當主服務(wù)器(master),其余的服務(wù)器充當從服務(wù)器(slave)。因為復(fù)制是異步進行的,所以從服務(wù)器不需要一直連接著主服務(wù)器,從服務(wù)器甚至可以通過撥號斷斷續(xù)續(xù)地連接主服務(wù)器。通過配置文件,可以指定復(fù)制所有的數(shù)據(jù)庫,某個數(shù)據(jù)庫,甚至是某個數(shù)據(jù)庫上的某個表。
備份
? ? 運行 mysqldump命令
? ? ? ? mysqldump? -uroot? -p? 數(shù)據(jù)庫名? >? python.sql; --- ‘>’ 重定向輸出
恢復(fù)
? ? ? ? 連接mysql , 創(chuàng)建新的數(shù)據(jù)庫
? ? ? ? 退出連接,執(zhí)行如下命令
? ? ? ? ? ? mysql? -uroot? -p? 新的數(shù)據(jù)庫名? <? python.sql? --- '<' 重定向輸入
?備份 主服務(wù)器 原有數(shù)據(jù)到 從服務(wù)器
????如果在設(shè)置主從同步前,主服務(wù)器上已有大量數(shù)據(jù),可以使用mysqldump進行數(shù)據(jù)備份并還原到從服務(wù)器以實現(xiàn)數(shù)據(jù)的復(fù)制。
說明
????-u :用戶名
????-p :示密碼
????--all-databases :導(dǎo)出所有數(shù)據(jù)庫
????--lock-all-tables :執(zhí)行操作時鎖住所有表,防止操作時有數(shù)據(jù)修改
????~/master_db.sql :導(dǎo)出的備份數(shù)據(jù)(sql文件)位置,可自己指定
1. 在主服務(wù)器Ubuntu上進行備份,執(zhí)行命令:
? ??????mysqldump? ?-uroot? ?-p123456? ?--all-databases? ?--lock-all-tables? >? ~/master_db.sql
2.在從服務(wù)器Windows上進行數(shù)據(jù)還原
? ??mysql? –uroot? –p123456? <? master_db.sql
3. 配置主服務(wù)器master(Ubuntu中的MySQL)
? ???編輯設(shè)置mysqld的配置文件,設(shè)置log_bin和server-id
????????????sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

4.重啟mysql服務(wù)
????sudo? service? mysql? restart
5.配置從服務(wù)器
? ? 在Windows上 C盤 ProgramData /Mysql/MYSQL Server 5.7/my.inn
? ? 1. 在 127行? 打開注釋? ?
? ? 2. 在 Binary? Logging 下的? log-bin? 打開注釋
6.主服務(wù)器? 中的? server-id = 1? 和? 從服務(wù)器 中的? server-id = 1 的 值不能相同
?7.重啟mysql服務(wù)
????sudo? service? mysql? restart
8.登入主服務(wù)器Ubuntu中的mysql,創(chuàng)建用于從服務(wù)器同步數(shù)據(jù)使用的帳號
? ??*.* 所有數(shù)據(jù)庫中的所有表
? ??mysql –uroot –p123456
? ??GRANT? REPLICATION? SLAVE? ON? *.*? TO? '用戶名'@'%'? identified? by? '密碼';
? ? FLUSH? PRIVILEGES;
9.?獲取主服務(wù)器的二進制日志信息
????SHOW? MASTER? STATUS;
?10.進入windows的mysql,設(shè)置連接到master主服務(wù)器
????change master to master_host='10.211.55.5', master_user='slave', master_password='slave',master_log_file='mysql-bin.000006', master_log_pos=590;
????master_host:主服務(wù)器Ubuntu的ip地址
????master_log_file: 前面查詢到的主服務(wù)器日志文件名
????master_log_pos: 前面查詢到的主服務(wù)器日志文件位置
11.開啟同步,查看同步狀態(tài)
? ? ? ? 開啟從
? ? ? ? ? ? start? slave;
? ? ? ? ? ? show? slave? status\G;

都表示 yes 表示 成功
12.?測試主從同步
? ??????在Ubuntu的MySQL中(主服務(wù)器)創(chuàng)建一個數(shù)據(jù)庫?

在Windows的MySQL中(從服務(wù)器)查看新建的數(shù)據(jù)庫是否存在? ?存在則成功? 否則失??!
