準備
主服務器IP:192.168.1.100
從服務器IP:192.168.1.101
在主服務器上創建數據庫,並添加初始數據,然後導入到從服務器
1.分別在主從服務器上安裝mysql服務,mysql服務器的版本最好一致,或者主服務器的版本高於從服務器
2.在主服務上創建用戶從服務器同步的用戶,並設置權限
insert into mysql.user(Host,User,Password) values('localhost','master ',password('123456'));
flush privileges;
grant replication slave on *.* to 'master'@'192.168.1.101' identified by '123456' with grant option;
3.設置主從同步
主服務器
vi /etc/my.cnf #編輯配置文件,在[mysqld]部分添加下面內容
server-id=1 #設置服務器id,爲1表示主服務器,注意:如果原來的配置文件中已經有這一行,就不用再添加了。
log-bin=mysql-bin #啓動MySQ二進制日誌系統,注意:如果原來的配置文件中已經有這一行,就不用再添加了。
binlog-do-db=master-slave #需要同步的數據庫名,如果有多個數據庫,可重複此參數,每個數據庫一行
binlog-ignore-db=mysql #不同步mysql系統數據庫
:wq! #保存退出
service mysqld restart #重啓MySQL
從服務器
vi /etc/my.cnf #編輯配置文件,在[mysqld]部分添加下面內容
server-id=2 #設置服務器id,爲1表示主服務器,注意:如果原來的配置文件中已經有這一行,就不用再添加了。
log-bin=mysql-bin #啓動MySQ二進制日誌系統,注意:如果原來的配置文件中已經有這一行,就不用再添加了。
binlog-do-db=master-slave #需要同步的數據庫名,如果有多個數據庫,可重複此參數,每個數據庫一行
binlog-ignore-db=mysql #不同步mysql系統數據庫
:wq! #保存退出
service mysqld restart #重啓MySQL
show master status; #查看主服務器,出現以下類似信息
4.在從服務器上設置同步並開啓同步,查看同步狀態
mysql>
slave stop; #停止slave同步進程
change master to master_host='192.168.1.100',master_user='master ',master_password='123456',master_log_file='mysql-bin.000011' ,master_log_pos=107;
#執行同步語句(紅色參數是在主服務器上執行show master status;得到的File、Position參數)
slave start; #開啓slave同步進程
SHOW SLAVE STATUS\G #查看slave同步信息,出現以下內容表示同步正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
5.測試:在主服務器中修改數據,查看從服務器中數據是否改變