備份主服務器原有數據到從服務器
1. 如果在設置主從同步前,主服務器上已有大量數據,可以使用 mysqldump 進 行數據備份並還原到從服務器以實現數據的復制
cd ~/Desktop/ mysqldump -uroot -pmysql --all-databases --lock-all-tables > ./master_db.sql ls


-u :用戶名 -p :示密碼 北京市昌平區建材城西路金燕龍辦公樓一層 電話:400-618-9090 --all-databases :導出所有數據庫 --lock-all-tables :執行操作時鎖住所有表,防止操作時有數據修改 ~./master_db.sql :導出的備份數據(sql 文件)位置,可自己指定.
2. 在從服務器 Windows 上進行數據還原
找到 Windows 上 mysql 命令的位置

新打開的命令窗口,在這個窗口中可以執行類似在 Ubuntu 終端中執行的 mysql 命令。

將從主服務器 Ubuntu 中導出的文件復制到從服務器 Windows 中,可以將 其放在上面 mysql 命令所在的文件夾中,方便還原使用。

在剛打開的命令黑窗口中執行還原操作:
mysql -uroot -pmysql < master_db.sql

mysql -uroot -pmysql show databases;

配置主服務器 master(Ubuntu 中的 MySQL)
編輯設置 mysqld 的配置文件,設置 log_bin 和 server-id
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把配置文件中的 server-id和下面log_bin的注釋去掉
然后把默認的只能鏈接本機的 注釋 # bin-adress 127.0.0.1
, shift+:x退出

重啟 mysql 服務
sudo service mysql restart

登入主服務器 Ubuntu 中的 mysql,創建用於從服務器同步數據使用的帳號
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave'; FLUSH PRIVILEGES;

獲取主服務器的二進制日志信息
show master status;

File 為使用的日志文件名字,Position 為使用的文件位置,這兩個參數 須記下,配置從服務器時會用到。
配置從服務器 slave(Windows 中的 MySQL)
找到 Windows 中 MySQL 的配置文件

編輯 my.ini 文件,將 server-id 修改為 2,默認的是1並保存退出。


可以在開始菜單中輸入 services.msc 找到並運行。

在打開的服務管理中找到 MySQL57,並重啟該服務

進入 windows 的 mysql,設置連接到 master 主服務器
mysql -uroot -p
如果以前執行過配置的話要停止
stop slave
設置連接到 master 主服務器、
change master to master_host='192.168.228.133', master_user='slave', master_password='slave',master_log_file='mysql-bin.000006', master_log_pos=2060 ;

master_host:主服務器 Ubuntu 的 ip 地址 master_log_file: 前面查詢到的主服務器日志文件名 master_log_pos: 前面查詢到的主服務器日志文件位置
開啟同步,查看同步狀態
start slave
show slave status \G

測試主從同步
在 Ubuntu 的 MySQL 中(主服務器)創建一個數據庫
create database dailyfresh_13 default charset=utf8; show databases;

在 Windows 的 MySQL 中(從服務器)查看新建的數據庫是否存在。
show databases;

