ubuntu16配置mysql5.7主從同步


測試環境如下:

  master: 10.0.0.26

  slave01: 10.0.0.27

  slave02: 10.0.0.28

 

一、三台機安裝mysql-server5.7

 

$ sudo apt-get update

$ sudo apt-get install -y mysql-server

 

二、配置主從同步

 

  1、 master配置

    1) 修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf   

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
log-bin=mysql-bin
server-id=26

#注釋掉下面一行
#bind-address        =127.0.0.1     

 

    2) 重啟mysql服務

$ sudo service mysql restart

 

    3) 添加同步帳號

#進入數據庫
$ mysql -uroot -p

#數據庫配置
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’IDENTIFIED BY ‘123456’;

#使配置生效
mysql> flush privileges;
mysql> exit

 

    4) 安裝插件,並啟動半同步復制

#進入數據庫
$ mysql -uroot -p

#同步安裝插件
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
mysql> set global rpl_semi_sync_master_enabled=ON;
mysql> flush privileges;

# 查看master是否開啟同步復制
mysql> show status like '%semi%';

#查看master狀態,slave要用到
mysql> show master status;

 

  2、 兩台slave配置

    1) 修改配置文件

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
log-bin=mysql
server-id=27                  //另一台server-id=28

#注釋掉下面一行
#bind-address        =127.0.0.1

 

    2) 重啟mysql服務

$ sudo service mysql restart

 

    3) 數據庫配置

#進入數據庫
$ mysql -uroot -p

#安裝同步插件
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
mysql> set global rpl_semi_sync_slave_enabled=ON;
mysql> flush privileges;

#查看從庫是否開啟同步復制
mysql> show status like '%semi%';

#連接master
mysql> change master to master_host='10.0.0.26',
    -> master_user='repl',
    -> master_password='123456',
    -> master_log_file='mysql-bin.000001',
    -> master_log_pos=741;

mysql> flush privileges;

# 啟動並查看slave狀態
mysql> start slave;
mysql> show slave status\G

 

PS:查看slave狀態時,選項中的Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 就代表同步設置成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM