天天看點

SQL server執行個體配置_MySQL主從複制配置(僅學習)

1. 環境

作業系統:

CentOS-7

MySQL:

mysql-5.6

一台虛拟機又克隆了兩台

192.168.102.31  master

192.168.102.56  slave

192.168.102.36  slave

啟動/停止

service  mysqld  start|stop|restart
systemctl  start|stop|restart  mysqld

本機的話,直接mysql就可以進去了
           

2. 主資料庫配置

第1步:編輯/etc/my.cnf檔案,在[mysqld]下增加如下兩行設定:

[mysqld]log-bin=mysql-bin # 非必需
server-id=1    # 必需
           
SQL server執行個體配置_MySQL主從複制配置(僅學習)
SQL server執行個體配置_MySQL主從複制配置(僅學習)

第2步:建立用于資料同步的賬戶

CREATE USER 'repl'@'192.168.102.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.102.%';
FLUSH PRIVILEGES;
           
SQL server執行個體配置_MySQL主從複制配置(僅學習)

第3步:檢視master狀态

show master status;
           
SQL server執行個體配置_MySQL主從複制配置(僅學習)
SQL server執行個體配置_MySQL主從複制配置(僅學習)

3. 從資料庫配置

第1步:編輯/etc/my.cnf檔案,設定server-id

[mysqld]server-id=2
           

第2步:執行同步語句,并啟動slave

change master to master_host='192.168.102.31', master_user='repl', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=514;
           
SQL server執行個體配置_MySQL主從複制配置(僅學習)

第3步:檢視slave狀态

show slave statusG;
           
SQL server執行個體配置_MySQL主從複制配置(僅學習)

另外一台從資料庫也是這樣設定

4. 驗證是否同步成功

在主資料上操作,從資料庫中檢視

SQL server執行個體配置_MySQL主從複制配置(僅學習)
SQL server執行個體配置_MySQL主從複制配置(僅學習)

5. 設定隻讀賬戶

mysql> create user 'pig'@'%' identified by '123456';
mysql> grant select>'pig'@'%';
mysql> flush privileges;
           

6. 參考

https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html

http://www.cnblogs.com/gl-developer/p/6170423.html

Mysql主從配置,實作讀寫分離 - Alvin_jstu - 部落格園

MySQL建立使用者與授權 - 七月逆流 - 部落格園

Slave_SQL_Running: No的解決辦法

問題原因:

1、可能是主庫的表,在從庫中沒有找到。

解決方法:

1、先停止同步:mysql>stop slave;

2、使用指令:mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

3、開啟同步:mysql>start slave;

4、使用指令:mysql>show slave statusG,檢視Slave_SQL_Running的值,如果不為Yes,則重複上述3步,直到為Yes