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

MySQL 主從服務器配置

replicat services tab var mysq pos 數據庫 帳號 res

在主服務器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

MySQL 主從服務器配置