亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

MySQL學習(二)復制

系統 2245 0
? ? 復制解決的問題是保持多個服務器之間的數據的一致性,就如同通過復制保持兩個文件的一致性一樣,只不過MySQL的復制要相對要復雜一些,其基本過程如下:
? ? 1)在主庫上將數據更改記錄到二進制日志(Binary Log)中(這些記錄被成為二進制日志事件,即binlog)
? ? 2)本分將主庫上的日志復制到自己的中繼日志(Relay Log)中
? ? 3)備庫讀取中繼日志中的事件,將其重放到備庫數據之上。
? ? 從上面可以看出,復制需要四個進程或線程做事情:主庫保存日志、主庫根據備庫的請求轉儲日志并發送給備庫,備庫接受日志保存在中繼日志中,備庫從中繼日志中讀取信息重放到備庫中。當然復制本身可以說只需要3個線程,不算主庫保存日志。
? ?從邏輯上來看,復制對于主庫的開銷主要在I/O上,記錄日志、轉儲日志和網絡傳輸,如果同時支持多個備庫,這些消耗是疊加的,對主庫的壓力比較大。
? ?MySQL支持語句復制和行復制,語句復制在MySQL 3.23版就已經存在,行復制到5.1版才加進來。行復制是其他數據庫較為常用的方式,語句復制相對更加簡單。在MariaDB 10.0.12中用的是混合模式,即默認使用語句模式,特殊情況下采用行復制。復制模式的啟用可以在my.ini或my.cnf中定義:binlog_format=statement/row/mixed,分別代表語句、行、混合模式,可以參考 http://www.linuxidc.com/Linux/2013-06/86632.htm ,寫的非常詳細。
? ? MySQL復制的特點:
? ?1)配置較為簡單
? ?2)很方便進行主從切換,即更換主或者增加從都非常簡單
? ?3)基于語句的復制方式,導致在從庫完全重放主庫的SQL,如果從庫配置較差,可能會出現很大的延遲,甚至導致從庫無法完成其他工作。
? ?4)主庫執行SQL是并發執行的,從庫重放是串行的,會帶來更嚴重的延遲。
? ?5)一般來說,從庫版本要高于主庫版本,因為復制是向下兼容的,即高版本的MySQL實例可以讀取低版本的二進制日志。
? ?配置復制實例,為方便起見,采用相同的數據庫版本,如下
? ?1)本機啟動兩個MySQL實例
? ?環境為:Windows 7 x64,IP地址為192.168.1.11,兩個MariaDB 10.0.12實例
? ?將MySQL實例1啟動端口設為3308,實例2啟動端口設為3307,實例1作為主服務器,實例2作為從服務器,端口設置在my.ini中,本人將my-medium.ini復制改為my.ini,作為配置文件,修改其端口,啟動MySQL命令為mysqld,連接命令mysql -uroot -P 3308和mysql -uroot -P 3307,因為root帳號默認密碼為空,所以沒有-p參數。
? ? ?a)在主實例上配置
? ? ?MariaDB [(none)]>grant replication slave on *.* to rep1@'192.168.1.%' identified by '123456';
? ? ?修改my.ini增加或修改以下內容
? ? ?log_bin=mysql-bin
? ? ?server_id=10
? ? ?這里的server_id要保證在所有MySQL實例中唯一
? ? MariaDB [(none)]> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 500 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
? ? 可以看出復制文件為mysql-bin.000003
? ? b)在從服務器上做設置
? ? 修改my.ini文件,增加或修改內容
log_bin=mysql-bin
server-id = 11
relay_log = D:\mysql\mariadb-10.0.12-winx64-1\data\mysql-relay-bin
log_slave_updates = 1
read_only = 1
? ?這里要注意,log_bin在主從命名一致,這不是必須的,但是這樣做有利于未來切換方便,server_id也要保證唯一,relay_log是中繼日志的位置,log_slave_updates=1表明中繼日志的修改也要記錄從庫的更新日志中,這有利于保證數據的一致性,還有利于從從服務器復制數據,read_only=1會阻止沒有權限的賬戶更新數據。
? ? 配置復制,
? ?MariaDB [(none)]> change master to master_host='192.168.1.11',master_port=3308,master_user='rep1',master_password='123456',master_log_file='mysql-biin.000003',master_log_pos=0;
? ?這里的參數都很簡單明了,需要注意的是兩個master_log_file是主服務器的log日志,日志文件名稱和主服務器的show master status;顯示的一致,master_log_pos=0表明從頭開始讀取log文件,其實這兩個參數不是很實用,因為MySQL實例重啟一次或者調用flush logs;就會生成新的日志文件,如果這里指定了文件名,就需要手工重新設置change master to .....,否則會產生1236錯誤,如果不指定,系統會自動識別,master_log_pos也是一樣。
? ?MariaDB [(none)]> show slave status\G;
*************************** 1. row ***************************
? ? ? ? ? ? ? ?Slave_IO_State:
? ? ? ? ? ? ? ? ? Master_Host: 192.168.1.11
? ? ? ? ? ? ? ? ? Master_User: rep1
? ? ? ? ? ? ? ? ? Master_Port: 3306
? ? ? ? ? ? ? ? Connect_Retry: 60
? ? ? ? ? ? ? Master_Log_File: mysql-biin.000003
? ? ? ? ? Read_Master_Log_Pos: 4
? ? ? ? ? ? ? ?Relay_Log_File: ShiYongqiang-relay-bin.000001
? ? ? ? ? ? ? ? Relay_Log_Pos: 4
? ? ? ? Relay_Master_Log_File: mysql-biin.000003
? ? ? ? ? ? ?Slave_IO_Running: No
? ? ? ? ? ? Slave_SQL_Running: No
? ? ? ? ? ? ? Replicate_Do_DB:
? ? ? ? ? Replicate_Ignore_DB:
? ? ? ? ? ?Replicate_Do_Table:
? ? ? ?Replicate_Ignore_Table:
? ? ? Replicate_Wild_Do_Table:
? Replicate_Wild_Ignore_Table:
? ? ? ? ? ? ? ? ? ?Last_Errno: 0
? ? ? ? ? ? ? ? ? ?Last_Error:
? ? ? ? ? ? ? ? ?Skip_Counter: 0
? ? ? ? ? Exec_Master_Log_Pos: 4
? ? ? ? ? ? ? Relay_Log_Space: 248
? ? ? ? ? ? ? Until_Condition: None
? ? ? ? ? ? ? ?Until_Log_File:
? ? ? ? ? ? ? ? Until_Log_Pos: 0
? ? ? ? ? ?Master_SSL_Allowed: No
? ? ? ? ? ?Master_SSL_CA_File:
? ? ? ? ? ?Master_SSL_CA_Path:
? ? ? ? ? ? ? Master_SSL_Cert:
? ? ? ? ? ? Master_SSL_Cipher:
? ? ? ? ? ? ? ?Master_SSL_Key:
? ? ? ? Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
? ? ? ? ? ? ? ? Last_IO_Errno: 0
? ? ? ? ? ? ? ? Last_IO_Error:
? ? ? ? ? ? ? ?Last_SQL_Errno: 0
? ? ? ? ? ? ? ?Last_SQL_Error:
? Replicate_Ignore_Server_Ids:
? ? ? ? ? ? ?Master_Server_Id: 0
? ? ? ? ? ? ? ?Master_SSL_Crl:
? ? ? ? ? ?Master_SSL_Crlpath:
? ? ? ? ? ? ? ? ? ?Using_Gtid: No
? ? ? ? ? ? ? ? ? Gtid_IO_Pos:
1 row in set (0.00 sec)
?
ERROR: No query specified
? ?這里顯示Slave_IO_Running,Slave_SQL_Running都為NO,前者代表請求數據的線程沒有運行,后者代表重放SQL的線程沒有執行,還可以看到其他的參數,如可以針對某個數據庫復制、針對某個表復制等等,現在是針對全服務器復制的。
? ?MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)
?
MariaDB [(none)]> show slave status\G;
*************************** 1. row ***************************
? ? ? ? ? ? ? ?Slave_IO_State: Waiting for master to send event
? ? ? ? ? ? ? ? ? Master_Host: 192.168.1.11
? ? ? ? ? ? ? ? ? Master_User: rep1
? ? ? ? ? ? ? ? ? Master_Port: 3308
? ? ? ? ? ? ? ? Connect_Retry: 60
? ? ? ? ? ? ? Master_Log_File: mysql-bin.000015
? ? ? ? ? Read_Master_Log_Pos: 506
? ? ? ? ? ? ? ?Relay_Log_File: mysql-relay-bin.000028
? ? ? ? ? ? ? ? Relay_Log_Pos: 535
? ? ? ? Relay_Master_Log_File: mysql-bin.000015
? ? ? ? ? ? ?Slave_IO_Running: Yes
? ? ? ? ? ? Slave_SQL_Running: Yes
? ? ? ? ? ? ? Replicate_Do_DB:
? ? ? ? ? Replicate_Ignore_DB:
? ? ? ? ? ?Replicate_Do_Table:
? ? ? ?Replicate_Ignore_Table:
? ? ? Replicate_Wild_Do_Table:
? Replicate_Wild_Ignore_Table:
? ? ? ? ? ? ? ? ? ?Last_Errno: 0
? ? ? ? ? ? ? ? ? ?Last_Error:
? ? ? ? ? ? ? ? ?Skip_Counter: 0
? ? ? ? ? Exec_Master_Log_Pos: 506
? ? ? ? ? ? ? Relay_Log_Space: 1244
? ? ? ? ? ? ? Until_Condition: None
? ? ? ? ? ? ? ?Until_Log_File:
? ? ? ? ? ? ? ? Until_Log_Pos: 0
? ? ? ? ? ?Master_SSL_Allowed: No
? ? ? ? ? ?Master_SSL_CA_File:
? ? ? ? ? ?Master_SSL_CA_Path:
? ? ? ? ? ? ? Master_SSL_Cert:
? ? ? ? ? ? Master_SSL_Cipher:
? ? ? ? ? ? ? ?Master_SSL_Key:
? ? ? ? Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
? ? ? ? ? ? ? ? Last_IO_Errno: 0
? ? ? ? ? ? ? ? Last_IO_Error:
? ? ? ? ? ? ? ?Last_SQL_Errno: 0
? ? ? ? ? ? ? ?Last_SQL_Error:
? Replicate_Ignore_Server_Ids:
? ? ? ? ? ? ?Master_Server_Id: 10
? ? ? ? ? ? ? ?Master_SSL_Crl:
? ? ? ? ? ?Master_SSL_Crlpath:
? ? ? ? ? ? ? ? ? ?Using_Gtid: No
? ? ? ? ? ? ? ? ? Gtid_IO_Pos:
1 row in set (0.00 sec)
?
ERROR: No query specified

可以看出這里的從服務器的復制開始運行了,需要注意log文件的名稱和上面未必一致,因為在實驗時重啟了幾次服務器,重啟服務器的命令為:
? ?啟動 ?mysqld
? ?關閉 mysqladmin -uroot -P 3308 shutdown
還可以查看到底有哪些線程在執行,
MariaDB [none]> show processlist\G;
*************************** 1. row ***************************
? ? ? Id: 5
? ? User: root
? ? Host: localhost:3994
? ? ? db: shiyq
?Command: Query
? ? Time: 0
? ?State: init
? ? Info: show processlist
Progress: 0.000
*************************** 2. row ***************************
? ? ? Id: 28
? ? User: system user
? ? Host:
? ? ? db: NULL
?Command: Connect
? ? Time: 6714
? ?State: Waiting for master to send event
? ? Info: NULL
Progress: 0.000
*************************** 3. row ***************************
? ? ? Id: 29
? ? User: system user
? ? Host:
? ? ? db: NULL
?Command: Connect
? ? Time: 39
? ?State: Slave has read all relay log; waiting for the slave I/O thread to upda
te it
? ? Info: NULL
Progress: 0.000
3 rows in set (0.00 sec)
?
ERROR: No query specified
可以看出id為28的是和主服務器通信的線程,29為重寫SQL的線程。
在主服務器上運行同樣的命令,可以看到以下效果
MariaDB [(none)]> show processlist\G;
*************************** 1. row ***************************
? ? ? Id: 9
? ? User: rep1
? ? Host: ShiYongqiang:4807
? ? ? db: NULL
?Command: Binlog Dump
? ? Time: 6875
? ?State: Master has sent all binlog to slave; waiting for binlog to be updated
? ? Info: NULL
Progress: 0.000
*************************** 2. row ***************************
? ? ? Id: 11
? ? User: root
? ? Host: localhost:9309
? ? ? db: NULL
?Command: Query
? ? Time: 0
? ?State: init
? ? Info: show processlist
Progress: 0.000
2 rows in set (0.00 sec)
?
ERROR: No query specified
可以看出id為9的線程,是二進制日志轉儲線程,已經將所有的二進制文件都發送給了從服務器。
下面可以看看實際效果,
主從服務器是一樣的配置,所以其默認數據庫是一樣的,如下
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
?
主服務器:
MariaDB [(none)]> use shiyq
Database changed
MariaDB [shiyq]> create table t(a int auto_increment primary key,b varchar(10));
?
Query OK, 0 rows affected (0.02 sec)
?
MariaDB [shiyq]> insert into t(b) values('shiyq');
Query OK, 1 row affected (0.00 sec)
?
MariaDB [shiyq]> insert into t(b) select b from t;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
?
MariaDB [shiyq]> insert into t(b) select b from t;
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
?
MariaDB [shiyq]> insert into t(b) select b from t;
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
?
MariaDB [shiyq]> select * from t;
+---+-------+
| a | b |
+---+-------+
| 1 | shiyq |
| 2 | shiyq |
| 3 | shiyq |
| 4 | shiyq |
| 6 | shiyq |
| 7 | shiyq |
| 8 | shiyq |
| 9 | shiyq |
+---+-------+
8 rows in set (0.00 sec)
從服務器:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shiyq |
| test |
+--------------------+
5 rows in set (0.00 sec)
?
MariaDB [(none)]> use shiyq;
Database changed
MariaDB [shiyq]> show tables;
+-----------------+
| Tables_in_shiyq |
+-----------------+
| t |
+-----------------+
1 row in set (0.00 sec)
?
MariaDB [shiyq]> select * from t;
+---+-------+
| a | b |
+---+-------+
| 1 | shiyq |
| 2 | shiyq |
| 3 | shiyq |
| 4 | shiyq |
| 6 | shiyq |
| 7 | shiyq |
| 8 | shiyq |
| 9 | shiyq |
+---+-------+
8 rows in set (0.00 sec)
可以看出復制完全正常。
下面增加一個從服務器,端口為3309,server-id為12,在my.ini的修改如下
log-bin=mysql-bin
server-id = 12
relay_log = D:\mysql\mariadb-10.0.12-winx64-3\data\mysql-relay-bin
log_slave_updates = 1
read_only = 1
啟動這個MySQL實例,叫做實例3,默認情況下,沒有shiyq數據庫,運行下列命令:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> change master to master_host='192.168.1.11',master_port=3308, master_user='rep1',master_password='123456';?
Query OK, 0 rows affected (0.04 sec)
?
MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show slave status\G;
*************************** 1. row ***************************
? ? ? ? ? ? ? ?Slave_IO_State: Waiting for master to send event
? ? ? ? ? ? ? ? ? Master_Host: 192.168.1.11
? ? ? ? ? ? ? ? ? Master_User: rep1
? ? ? ? ? ? ? ? ? Master_Port: 3308
? ? ? ? ? ? ? ? Connect_Retry: 60
? ? ? ? ? ? ? Master_Log_File: mysql-bin.000015
? ? ? ? ? Read_Master_Log_Pos: 3002
? ? ? ? ? ? ? ?Relay_Log_File: mysql-relay-bin.000025
? ? ? ? ? ? ? ? Relay_Log_Pos: 3289
? ? ? ? Relay_Master_Log_File: mysql-bin.000015
? ? ? ? ? ? ?Slave_IO_Running: Yes
? ? ? ? ? ? Slave_SQL_Running: Yes
? ? ? ? ? ? ? Replicate_Do_DB:
? ? ? ? ? Replicate_Ignore_DB:
? ? ? ? ? ?Replicate_Do_Table:
? ? ? ?Replicate_Ignore_Table:
? ? ? Replicate_Wild_Do_Table:
? Replicate_Wild_Ignore_Table:
? ? ? ? ? ? ? ? ? ?Last_Errno: 0
? ? ? ? ? ? ? ? ? ?Last_Error:
? ? ? ? ? ? ? ? ?Skip_Counter: 0
? ? ? ? ? Exec_Master_Log_Pos: 3002
? ? ? ? ? ? ? Relay_Log_Space: 3629
? ? ? ? ? ? ? Until_Condition: None
? ? ? ? ? ? ? ?Until_Log_File:
? ? ? ? ? ? ? ? Until_Log_Pos: 0
? ? ? ? ? ?Master_SSL_Allowed: No
? ? ? ? ? ?Master_SSL_CA_File:
? ? ? ? ? ?Master_SSL_CA_Path:
? ? ? ? ? ? ? Master_SSL_Cert:
? ? ? ? ? ? Master_SSL_Cipher:
? ? ? ? ? ? ? ?Master_SSL_Key:
? ? ? ? Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
? ? ? ? ? ? ? ? Last_IO_Errno: 0
? ? ? ? ? ? ? ? Last_IO_Error:
? ? ? ? ? ? ? ?Last_SQL_Errno: 0
? ? ? ? ? ? ? ?Last_SQL_Error:
? Replicate_Ignore_Server_Ids:
? ? ? ? ? ? ?Master_Server_Id: 10
? ? ? ? ? ? ? ?Master_SSL_Crl:
? ? ? ? ? ?Master_SSL_Crlpath:
? ? ? ? ? ? ? ? ? ?Using_Gtid: No
? ? ? ? ? ? ? ? ? Gtid_IO_Pos:
1 row in set (0.00 sec)
?
ERROR: No query specified
?
MariaDB [(none)]> show processlist\G;
*************************** 1. row ***************************
? ? ? Id: 3
? ? User: root
? ? Host: localhost:9761
? ? ? db: NULL
?Command: Query
? ? Time: 0
? ?State: init
? ? Info: show processlist
Progress: 0.000
*************************** 2. row ***************************
? ? ? Id: 4
? ? User: system user
? ? Host:
? ? ? db: NULL
?Command: Connect
? ? Time: 25
? ?State: Waiting for master to send event
? ? Info: NULL
Progress: 0.000
*************************** 3. row ***************************
? ? ? Id: 5
? ? User: system user
? ? Host:
? ? ? db: NULL
?Command: Connect
? ? Time: 669
? ?State: Slave has read all relay log; waiting for the slave I/O thread to upda
te it
? ? Info: NULL
Progress: 0.000
3 rows in set (0.00 sec)
?
ERROR: No query specified
?
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shiyq |
| test |
+--------------------+
5 rows in set (0.00 sec)
在主服務器上運行如下命令:
MariaDB [shiyq]> show processlist\G;
*************************** 1. row ***************************
? ? ? Id: 9
? ? User: rep1
? ? Host: ShiYongqiang:4807
? ? ? db: NULL
?Command: Binlog Dump
? ? Time: 8171
? ?State: Master has sent all binlog to slave; waiting for binlog to be updated
? ? Info: NULL
Progress: 0.000
*************************** 2. row ***************************
? ? ? Id: 11
? ? User: root
? ? Host: localhost:9309
? ? ? db: shiyq
?Command: Query
? ? Time: 0
? ?State: init
? ? Info: show processlist
Progress: 0.000
*************************** 3. row ***************************
? ? ? Id: 15
? ? User: rep1
? ? Host: ShiYongqiang:9895
? ? ? db: NULL
?Command: Binlog Dump
? ? Time: 72
? ?State: Master has sent all binlog to slave; waiting for binlog to be updated
? ? Info: NULL
Progress: 0.000
3 rows in set (0.00 sec)
?
ERROR: No query specified
可以看出,有了兩個二進制日志轉儲線程,為兩個從服務器服務。
再增加一個服務器,將實例二作為主服務器,進行復制,修改my.ini如下:
port=3310
log-bin=mysql-bin
server-id = 13
relay_log = D:\mysql\mariadb-10.0.12-winx64-4\data\mysql-relay-bin
log_slave_updates = 1
read_only = 1
在實例1上運行命令:
MariaDB [shiyq]> create database shiyq1;
Query OK, 1 row affected (0.00 sec)
?
MariaDB [shiyq]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shiyq |
| shiyq1 |
| test |
+--------------------+
6 rows in set (0.00 sec)
所有的服務器都更新了。
在實例二運行如下命令:
MariaDB [shiyq]> create database shiyq2;
Query OK, 1 row affected (0.00 sec)
?
MariaDB [shiyq]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shiyq |
| shiyq1 |
| shiyq2 |
| test |
+--------------------+
7 rows in set (0.00 sec)
可以看到實例4上也增加了數據庫,在這些服務器上用show master status;show slave status\G;show processlist\G,可以看到相應的線程。
? ?2)兩臺完全相同機器的MySQL實例
? ?創建兩個VirtualBox的虛擬機,操作系統為ubuntu 14.04服務器版,在部署的時候遇到一些小問題,安裝了一臺虛擬器,使用apt-get安裝了系統自帶的mysql后,為了方便和保證一致性,直接復制了使用,發現不行,在加載的時候提示uuid已存在,后來才知道需要用VirutalBox的命令C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonevdi d:\vm\ubuntu.vdi d:\vm\ubuntu1.vdi,才可以,然后部署了兩個虛擬機,啟動之后發現,還是不行,復制的虛擬機ip沒有獲取網絡的DHCP,后來修改了一下虛擬機的網絡配置,將網絡連接方式改成橋接就好了。
? ?ubuntu自帶的mysql為Oracle的主流版本,版本為很有意思,Oracle子公司Redhat自帶的MySQL是MariaDB。
? ?兩個虛擬機的IP地址分為192.168.1.152和192.168.1.154,前者為實例1,后者為實例2,實例1作為主服務器,實例2作為從服務器。
? ?修改實例1的/etc/mysql/my.conf,增加或修改如下
server-id = 10
log_bin = /var/log/mysql/mysql-bin.log
? ?設置復制權限,
mysql> grant replication slave on *.* to rep1@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
? ?修改實例2的/etc/mysql/my.conf,增加或修改如下
server-id = 11
log_bin = /var/log/mysql/mysql-bin.log
relay_log = /var/log/mysql/mysql-relay-bin.log
log_slave_updates = 1
read_only = 1
? ? 運行命令
?mysql>change master to master_host='192.168.1.152',master_port=3306, master_user='rep1',master_password='123456';?
?mysql>start slave;
? ?然后在主服務器上運行sql,可以看到實際效果
配置雙向復制
修改實例1的/etc/mysql/my.cn,增加
relay_log = /var/log/mysql/mysql-relay-bin.log
log_slave_updates = 1
read_only = 1
運行命令
mysql> grant replication slave on *.* to rep1@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
?mysql>change master to master_host='192.168.1.154',master_port=3306, master_user='rep1',master_password='123456';?
?mysql>start slave;
雙向復制理論上是可行的,比如在終端窗口輸入,因為傳輸速度很快,等你切換終端的時候,就已經復制過來了,但是在高并發的情況下,傳輸可能會滯后,就會出現問題,可以配置雙向復制,但是只啟動一個主從復制,如果有問題,可以隨時切換。

MySQL學習(二)復制


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 俄罗斯毛片免费大全 | 孕妇孕妇aaaaa级毛片视频 | 五月天婷亚洲天综合网精品偷 | 亚洲欧美日韩中文字幕网址 | 久久精品国产午夜伦班片 | 四虎最新紧急入口4hu | 欧洲做视频在线观看 | 欧美狠狠干 | 日本高清免费毛片久久看 | 老外黑人欧美一级毛片 | 羞羞视频免费在线观看 | 日本中文字幕二区三区 | 最近免费中文字幕大全免费版视频 | 97免费视频观看 | julia中文在线| 久久这里只有精品6 | 99在线观看视频免费 | 久久精品国产主播一区二区 | 99久久精品国产一区二区三区 | 国产3区 | 成 人 免 费 黄 色 | 这里只有精品国产 | 一区二区三区在线视频观看 | 九九精品视频在线观看九九 | 狠狠亚洲丁香综合久久 | 亚洲黄色成人 | 80岁老妇xxxxx高清 | 狠狠色婷婷丁香综合久久韩国 | 精品精品国产高清a毛片 | 日韩每日更新 | 女人十八毛片免费特黄 | 日韩在线视频一区 | 欧美国产亚洲18 | 亚洲国产精品久久日 | 日本久久99 | 亚洲永久视频 | 亚洲性事 | 四虎永久地址4hu2019 | 欧美精品影院 | 欧美韩国日本在线观看 | 亚洲高清国产一区二区三区 |