1. 程式人生 > >MySQL 主從伺服器配置

MySQL 主從伺服器配置

在主伺服器Ubuntu上進行備份,執行命令:

mysqldump -uroot -p --all-databases --lock-all-tables > ~/master_db.sql
-u :使用者名稱
-p :示密碼
--all-databases :匯出所有資料庫
--lock-all-tables :執行操作時鎖住所有表,防止操作時有資料修改
~/master_db.sql :匯出的備份資料(sql檔案)位置,可自己指定

修改主伺服器配置
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
將一下兩項註釋去掉即可
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log

重啟
sudo service mysql restart

登入主伺服器Ubuntu中的mysql,建立用於從伺服器同步資料使用的帳號
mysql –uroot –p

建立
GRANT REPLICATION SLAVE ON . TO 'slave'@'%' identified by 'slave';
更新
FLUSH PRIVILEGES;
獲取主伺服器的二進位制日誌資訊
SHOW MASTER STATUS;

File為使用的日誌檔名字,Position為使用的檔案位置,這兩個引數須記下,配置從伺服器時會用到

將備份sql 檔案上傳到從伺服器
在從伺服器執行還原

mysql –uroot –p < master_db.sql

修改從伺服器配置
從伺服器 Ubuntu配置 路徑
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

server-id = 2

從伺服器windows 配置 (Windows版本win7及以上) 路徑
c:/programdata/MySQL/mysql server 5.7/my.ini
server-id = 2

Windows + r 鍵 執行 services.msc
服務管理中找到服務MySQL57,並重啟該服務

進入windows的mysql,設定連線到master主伺服器
change master to master_host='192.168.1.110', master_user='slave', master_password='slave',master_log_file='mysql-bin.000006', master_log_pos=590;
將以上三項替換
master_host='192.168.1.110' 替換主伺服器上的IP地址
master_log_file='mysql-bin.000006' 替換主伺服器上的FilePosition為使用的檔案位置
master_log_pos=590 替換主伺服器上的Position

在從伺服器mysql裡開啟同步,檢視同步狀態
start slave;
檢視
show slave status \G;
在顯示的結果裡
Slave-IO-Running:YES
Slave-SQL-Running:YES
者配置成功
可測試 在主伺服器裡新建一個數據庫 在從伺服器裡能看到 ok