1
2
<code> </code><code>MySQL 主主同步配置 </code>
<code>伺服器名 IP 系統 MySQL</code>
主機名
位址
系統
MYSQL-SERVER
blog.sjf.com
11.1.0.200
CentOS-6.8
5.1.73-7
image.sjf.com
11.1.0.19
3
4
5
6
7
8
9
<code>我們這裡先建立同步賬号sjf</code>
<code>交叉授權</code>
<code>blog.sjf.com主機上</code>
<code>grant replication slave on *.* to </code><code>'sjf'</code><code>@</code><code>'11.1.0.204'</code> <code>identified by </code><code>'sjf'</code><code>;</code>
<code>flush privileges;</code>
<code>image.sjf.com主機上</code>
<code>grant replication slave on *.* to </code><code>'sjf'</code><code>@</code><code>'11.1.0.203'</code> <code>identified by </code><code>'sjf'</code><code>;</code>
10
11
12
13
14
15
16
17
<code>blog上設定</code>
<code>[mysqld] </code>
<code>innodb_file_per_table=ON</code>
<code>skip_name_resolve=ON</code>
<code>user = mysql</code>
<code>log-bin=mysql-bin</code>
<code>server-</code><code>id</code> <code>= 1</code>
<code>binlog-</code><code>do</code><code>-db=</code><code>test</code>
<code>binlog-ignore-db=mysql</code>
<code>replicate-</code><code>do</code><code>-db=</code><code>test</code>
<code>replicate-ignore-db=mysql</code>
<code>log-slave-updates</code>
<code>slave-skip-errors=all</code>
<code>skip-name-resolve</code>
<code>sync_binlog=1</code>
<code>auto_increment_increment=2</code>
<code>auto_increment_offset=1</code>
<code>image.sjf.com上的配置</code>
<code>skip_name_resolve =ON</code>
<code>server-</code><code>id</code> <code>= 2</code>
<code>auto_increment_offset=2</code>
(1) 分别在伺服器blog、image 上檢視做為主伺服器狀态
<code>blog:</code>
<code>MariaDB [(none)]> flush tables with </code><code>read</code> <code>lock;</code>
<code>Query OK, 0 rows affected (0.00 sec)</code>
<code>MariaDB [</code><code>test</code><code>]> show master status\G; </code>
<code>*************************** 1. row ***************************</code>
<code> </code><code>File: mysql-bin.000001</code>
<code> </code><code>Position: 435</code>
<code> </code><code>Binlog_Do_DB: </code><code>test</code>
<code>Binlog_Ignore_DB: mysql</code>
<code>1 row </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
<code>image:</code>
<code> </code><code>Position: 340</code>
(2)分别在伺服器blog、image上用change master語句指定同步位置 :
<code>blog</code>
<code>MariaDB [</code><code>test</code><code>]> change master to master_host=</code><code>'11.1.0.19'</code><code>, master_user=</code><code>'sjf'</code><code>, master_password=</code><code>'sjf'</code><code>,master_log_file=</code><code>'mysql-bin.000001'</code><code>,master_log_pos=340;</code>
<code>Query OK, 0 rows affected (0.01 sec)</code>
<code>image</code>
<code>MariaDB [</code><code>test</code><code>]> change master to master_host=</code><code>'11.1.0.200'</code><code>, master_user=</code><code>'sjf'</code><code>, master_password=</code><code>'sjf'</code><code>,master_log_file=</code><code>'mysql-bin.000001'</code><code>,master_log_pos=435;</code>
注:master_log_file,master_log_pos由上面主伺服器查出的狀态值中确定 master_log_file對 應 File,master_log_pos對應Position
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<code>blog上:</code>
<code>MariaDB [</code><code>test</code><code>]> start slave;</code>
<code>MariaDB [</code><code>test</code><code>]> show slave status\G;</code>
<code> </code><code>Slave_IO_State: Waiting </code><code>for</code> <code>master to send event</code>
<code> </code><code>Master_Host: 11.1.0.19</code>
<code> </code><code>Master_User: sjf</code>
<code> </code><code>Master_Port: 3306</code>
<code> </code><code>Connect_Retry: 60</code>
<code> </code><code>Master_Log_File: mysql-bin.000001</code>
<code> </code><code>Read_Master_Log_Pos: 340</code>
<code> </code><code>Relay_Log_File: mariadb-relay-bin.000002</code>
<code> </code><code>Relay_Log_Pos: 529</code>
<code> </code><code>Relay_Master_Log_File: mysql-bin.000001</code>
<code> </code><code>Slave_IO_Running: Yes</code>
<code> </code><code>Slave_SQL_Running: Yes</code>
<code> </code><code>Replicate_Do_DB: </code><code>test</code>
<code> </code><code>Replicate_Ignore_DB: mysql</code>
<code> </code><code>Replicate_Do_Table: </code>
<code> </code><code>Replicate_Ignore_Table: </code>
<code> </code><code>Replicate_Wild_Do_Table: </code>
<code> </code><code>Replicate_Wild_Ignore_Table: </code>
<code> </code><code>Last_Errno: 0</code>
<code> </code><code>Last_Error: </code>
<code> </code><code>Skip_Counter: 0</code>
<code> </code><code>Exec_Master_Log_Pos: 340</code>
<code> </code><code>Relay_Log_Space: 825</code>
<code> </code><code>Until_Condition: None</code>
<code> </code><code>Until_Log_File: </code>
<code> </code><code>Until_Log_Pos: 0</code>
<code> </code><code>Master_SSL_Allowed: No</code>
<code> </code><code>Master_SSL_CA_File: </code>
<code> </code><code>Master_SSL_CA_Path: </code>
<code> </code><code>Master_SSL_Cert: </code>
<code> </code><code>Master_SSL_Cipher: </code>
<code> </code><code>Master_SSL_Key: </code>
<code> </code><code>Seconds_Behind_Master: 0</code>
<code>Master_SSL_Verify_Server_Cert: No</code>
<code> </code><code>Last_IO_Errno: 0</code>
<code> </code><code>Last_IO_Error: </code>
<code> </code><code>Last_SQL_Errno: 0</code>
<code> </code><code>Last_SQL_Error: </code>
<code> </code><code>Replicate_Ignore_Server_Ids: </code>
<code> </code><code>Master_Server_Id: 2</code>
<code>image上:</code>
<code> </code><code>Master_Host: 11.1.0.200</code>
<code> </code><code>Read_Master_Log_Pos: 435</code>
<code> </code><code>Exec_Master_Log_Pos: 435</code>
<code> </code><code>Master_Server_Id: 1</code>
主要關注以下 2 個參數:
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
五、測試
<code>MariaDB [</code><code>test</code><code>]> use </code><code>test</code><code>;</code>
<code>Database changed</code>
<code>MariaDB [</code><code>test</code><code>]> show tables;</code>
<code>+----------------+</code>
<code>| Tables_in_test |</code>
<code>| tb1 |</code>
<code>| tb3 |</code>
<code>| tb4 |</code>
<code>3 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
<code>MariaDB [</code><code>test</code><code>]> create table tb5(</code><code>id</code> <code>int);</code>
<code>Query OK, 0 rows affected (0.02 sec)</code>
<code>| tb5 |</code>
<code>images上:</code>
<code>MariaDB [(none)]> use </code><code>test</code><code>;</code>
<code>Reading table information </code><code>for</code> <code>completion of table and column names</code>
<code>You can turn off this feature to get a quicker startup with -A</code>
<code>當blog生成表5後</code>
<code>| tb2 |</code>
<code>2 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
<code>我們這裡建立表6,看下效果</code>
<code>MariaDB [</code><code>test</code><code>]> create table tb6(</code><code>id</code> <code>int);</code>
<code>blog上。</code>
<code>| tb6 |</code>
<code>4 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
本文轉自 sjfbjs 51CTO部落格,原文連結:http://blog.51cto.com/11886896/1873997