亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL5.6 Replication主從復制(讀寫分離) 配置完整版

2020-01-18 22:30:59
字體:
來源:轉載
供稿:網友

MySQL5.6主從復制(讀寫分離)教程

1、MySQL5.6開始主從復制有兩種方式:

基于日志(binlog);
基于GTID(全局事務標示符)。

需要注意的是:GTID方式不支持臨時表!所以如果你的業務系統要用到臨時表的話就不要考慮這種方式了,至少目前最新版本MySQL5.6.12的GTID復制還是不支持臨時表的。

所以本教程主要是告訴大家如何通過日志(binlog)方式做主從復制!

2、MySQL官方提供的MySQL Replication教程:

http://dev.mysql.com/doc/refman/5.6/en/replication.html

第一步:準備工作

主服務器: 192.168.1.100
從服務器: 192.168.1.101

MySQL軟件版本:

MySQL-server-advanced-5.6.18-1.el6.x86_64.rpm
MySQL-cient-advanced-5.6.18-1.el6.x86_64.rpm

第二步:在主服務器和從服務器上安裝MySQL數據庫軟件

安裝方法,請參見 //www.49028c.com/article/82542.htm

MySQL數據庫軟件安裝完成后,不要急著做mysql啟動操作。建議把mysql初始化生成的/usr/my.cnf
(如果是從源文件編譯安裝時,路徑應該是在/usr/local/mysql/mysql.cnf)刪除,然后把優化好的mysql
配置文件my.cnf放到/etc下。
第三步:修改主數據庫的配置文件/usr/my.cnf

復制代碼 代碼如下:

[mysqld]
 
server-id=1
log-bin=mysqlmaster-bin.log
sync_binlog=1

innodb_buffer_pool_size=512M
innodb_flush_log_at_trx_commit=1
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
lower_case_table_names=1
log_bin_trust_function_creators=1

第四步:修改從數據庫配置文件/usr/my.cnf
 

復制代碼 代碼如下:

server-id=2
log-bin=mysqlslave-bin.log
sync_binlog=1
innodb_buffer_pool_size=512M
innodb_flush_log_at_trx_commit=1
 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
log_bin_trust_function_creators=1

第五步:在主數據庫和從數據庫服務器上分別執行以下命令重新啟動主數據庫和從數據庫

復制代碼 代碼如下:

[root@master ~]# service mysql restart
[root@slave ~]# service mysql restart

第六步:在主數據庫上創建用于主從復制的賬戶

復制代碼 代碼如下:

[root@master ~]# mysql -uroot -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.101' IDENTIFIED BY '111111';
Query OK, 0 rows affected (0.00 sec)

注意:以上命令中的IP地址,是從數據庫服務器的IP地址。

第七步:主數據庫鎖表(禁止再插入數據以獲取主數據庫的的二進制日志坐標)
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)
 

第八步:查看主數據庫的狀態(并記錄下File字段和Position字段的值,在配置從服務器時有用到)

mysql> show master status;
+------------------------+----------+--------------+------------------+-------------------+
| File                  | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------------+----------+--------------+------------------+-------------------+
| mysqlmaster-bin.000004 |      327 |              |                  |                  |
+------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

第九步:創建主數據庫的快照文件
[root@master ~]# cd /usr/bin/
# ./mysqldump -uroot -p -h127.0.0.1 -P3306 --all-databases --triggers --routines --events >>/mnt/windows/all.sql
上面命令中的紅色部分,是一個共享目錄,這個目錄可以同時被主數據庫服務器和從數據庫服務器訪問到。
如果沒有這樣的共享目錄,可以將all.sql放在其它任何目錄下,然后使用scp命令復制到遠程從數據庫服務器的某個目錄中
這條命令的執行時間根據數據量的不同,會有所不同,如果主數據庫的數據量很大,可能需要很長時間,那么在這種情況下,就最好在晚上沒有業務的時候進行這個操作,否則第七步中的鎖表操作會對業務系統造成很大的影響
第十步:解鎖主數據庫的鎖表操作
[root@master ~]# mysql -uroot -p    (本命令在主數據庫服務器上執行)
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
第十一步:在從數據庫服務器上導入第七步創建的快照文件到從數據庫中
[root@slave ~]# mysql -uroot -p -h127.0.0.1 -P3306 < /mnt/windows/all.sql
第十二步:在從數據庫服務器上設置主數據庫服務器向從數據庫服務器同步
[root@slave ~]# mysql -uroot -p
mysql> change master to master_host = '192.168.1.100',master_user='repl',master_password='111111',master_log_file='mysqlmaster-bin.000004',master_log_pos=327;
注意:紅色部分的值,是在第八步中查出來的,這里不能弄錯了
第十三步:啟動從數據庫復制線程
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
第十四步:查詢從數據庫的復制線程狀態

復制代碼 代碼如下:

mysql> show slave status /G
*************************** 1. row ***************************
              Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.100
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysqlmaster-bin.000004
          Read_Master_Log_Pos: 327
              Relay_Log_File: slave-relay-bin.000002
                Relay_Log_Pos: 289
        Relay_Master_Log_File: mysqlmaster-bin.000004
          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: 327
              Relay_Log_Space: 462
              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: 1
                  Master_UUID: 2e5e1b22-f0a9-11e3-bbac-000c297799e0
            Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
          Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
    Last_SQL_Error_Timestamp:
              Master_SSL_Crl:
          Master_SSL_Crlpath:
          Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
1 row in set (0.00 sec)

如果Slave_IO_Running和Slave_SQL_Running兩項都為yes,就表示主從復制配置成功了.
下面可以開始測試配置是否成功了,首先在主數據庫的test數據庫中新建一張表,然后插入幾條數據,然后到從數據庫看看是否同步過來了。
注意:當從數據庫有大量的查詢時,可以暫時將從數據庫的復制線程關閉掉,等查詢量降下來了,再打開,這樣也不會丟失數據。

附:一個優化好后的主數據庫配置文件和從數據配置文件內容如下:

復制代碼 代碼如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
 
[mysqld]
sync_binlog=1
server-id=1
port=3306
socket=/usr/local/mysql/mysql.sock
pid-file=/home/mysql/temp/my3306.pid
user=mysql
datadir=/home/mysql/data
tmpdir=/home/mysql/temp/
log-bin=/home/mysql/data/mysqlmaster-bin
log-error=/home/mysql/logs/error.log
slow_query_log_file=/home/mysql/logs/slow.log
binlog_format=mixed
slow_query_log
long_query_time=10
wait_timeout=31536000
interactive_timeout=31536000
max_connections=500
max_user_connections=490
max_connect_errors=2
character_set_server=utf8
skip-external-locking
key_buffer_size = 128M
max_allowed_packet = 5M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
replicate_ignore_db=mysql
replicate_ignore_db=information_schema
expire-logs-days=10
skip-slave-start
skip-name-resolve
lower_case_table_names=1
log_bin_trust_function_creators=1
 
# InnoDB
innodb_data_home_dir=/home/mysql/data
innodb_log_group_home_dir=/home/mysql/logs
innodb_data_file_path=ibdata1:128M:autoextend
innodb_buffer_pool_size=2G
innodb_log_file_size=10M
innodb_log_buffer_size=8M
innodb_lock_wait_timeout=50
innodb_file_per_table
innodb_flush_log_at_trx_commit=1
 
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 

 
 
一個優化好的從數據庫的配置文件如下:

復制代碼 代碼如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
 
[mysqld]
sync_binlog=1
server-id=2
port=3306
socket=/usr/local/mysql/mysql.sock
pid-file=/home/mysql/temp/my3306.pid
user=mysql
datadir=/home/mysql/data
tmpdir=/home/mysql/temp/
log-bin=/home/mysql/data/mysqlslave-bin
log-error=/home/mysql/logs/error.log
slow_query_log_file=/home/mysql/logs/slow.log
binlog_format=mixed
slow_query_log
long_query_time=10
wait_timeout=31536000
interactive_timeout=31536000
max_connections=500
max_user_connections=490
max_connect_errors=2
character_set_server=utf8
skip-external-locking
key_buffer_size = 128M
max_allowed_packet = 5M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
replicate_ignore_db=mysql
replicate_ignore_db=information_schema
expire-logs-days=10
#skip-slave-start
skip-name-resolve
lower_case_table_names=1
log_bin_trust_function_creators=1
 
# InnoDB
innodb_data_home_dir=/home/mysql/data
innodb_log_group_home_dir=/home/mysql/logs
innodb_data_file_path=ibdata1:128M:autoextend
innodb_buffer_pool_size=2G
innodb_log_file_size=10M
innodb_log_buffer_size=8M
innodb_lock_wait_timeout=50
innodb_file_per_table
innodb_flush_log_at_trx_commit=1
 
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO
 
[mysqldump]
quick
max_allowed_packet = 16M
 
[mysql]
no-auto-rehash
 
[myisamchk]
key_buffer_size = 256K
sort_buffer_size = 256K
read_buffer = 256K
write_buffer = 256K
 
[mysqlhotcopy]
interactive-timeout
 
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO
 
[mysqldump]
quick
max_allowed_packet = 16M
 
[mysql]
no-auto-rehash
 
[myisamchk]
key_buffer_size = 256K
sort_buffer_size = 256K
read_buffer = 256K
write_buffer = 256K
 
[mysqlhotcopy]
interactive-timeout

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久日韩精品久久久男男| 日韩av在线导航| 成人日韩在线电影| 欧美午夜精品久久久久久久| 日本在线观看天堂男亚洲| 久久久久久国产精品久久| 成人国产精品免费视频| 理论片在线不卡免费观看| 亚洲欧美制服丝袜| 欧美日韩爱爱视频| 成人午夜一级二级三级| 91影视免费在线观看| 精品国产成人av| 色青青草原桃花久久综合| 黑人巨大精品欧美一区二区三区| 国产一区二区成人| 久久福利视频导航| 亚洲自拍高清视频网站| 在线观看精品国产视频| 日韩精品免费看| 日韩av免费在线| 欧美日韩亚洲一区二区| 久久免费精品视频| 88国产精品欧美一区二区三区| 久久激情五月丁香伊人| 亚洲欧美日韩一区二区在线| 欧美精品成人在线| 日韩欧美aⅴ综合网站发布| xxx欧美精品| 精品视频在线观看日韩| 国产精品网站视频| 国产成人一区二区三区| 国产伊人精品在线| 国产精品三级网站| 成人久久精品视频| 欧美日韩色婷婷| 国产一区红桃视频| 亚洲精品久久久久久久久久久久| 97精品欧美一区二区三区| 国产精品福利观看| 一色桃子一区二区| 日韩中文字幕免费| 国产国语刺激对白av不卡| 91免费人成网站在线观看18| 丝袜美腿亚洲一区二区| 亚洲第一页在线| 国产精品欧美风情| 精品爽片免费看久久| 亚洲自拍高清视频网站| 欧美性xxxxx| 日韩精品免费在线视频观看| 久久九九全国免费精品观看| 97精品久久久中文字幕免费| www.国产精品一二区| 亚洲爱爱爱爱爱| 琪琪亚洲精品午夜在线| 亚洲成人a**站| 一区二区三区美女xx视频| 国产精品1234| 热99精品里视频精品| 精品性高朝久久久久久久| 91麻豆国产语对白在线观看| 国产精品极品美女粉嫩高清在线| 国产精品免费视频xxxx| 国产成人欧美在线观看| 在线观看日韩av| 欧美日韩国产中文字幕| 亚洲aa在线观看| 日本成熟性欧美| 亚洲成人精品久久久| 久久久久久久久久久av| 欧美大肥婆大肥bbbbb| 亚洲最新在线视频| 91精品久久久久久久久中文字幕| 精品日韩美女的视频高清| x99av成人免费| 91热精品视频| 欧美激情精品在线| 亚洲成色999久久网站| 粗暴蹂躏中文一区二区三区| 日韩性生活视频| 久久久精品国产一区二区| 日韩成人在线视频观看| 国产精品视频内| 久久躁日日躁aaaaxxxx| 亚洲成人激情视频| 欧美激情免费视频| 在线播放国产一区中文字幕剧情欧美| 操91在线视频| 欧美视频裸体精品| 日韩精品免费综合视频在线播放| 色中色综合影院手机版在线观看| 欧美最顶级的aⅴ艳星| 亚洲精品久久久一区二区三区| 国产成人精品一区二区| 中文字幕免费精品一区| 成人性生交大片免费看小说| 亚洲自拍偷拍色图| 国产精品免费久久久| 少妇高潮久久久久久潘金莲| 欧美重口另类videos人妖| 91在线网站视频| 国产日韩欧美在线| 91精品视频免费观看| 神马久久久久久| 久久夜精品va视频免费观看| 中文字幕在线视频日韩| 亚洲影视九九影院在线观看| 亚洲激情自拍图| 九色成人免费视频| 国产精品欧美亚洲777777| 久久综合免费视频影院| 黄色成人在线播放| 国语自产偷拍精品视频偷| 国产成人一区二区在线| 午夜精品久久久久久99热| 亚洲高清av在线| 日韩电影网在线| 国产亚洲欧洲高清| 国产精品久久久久久久av大片| 97免费中文视频在线观看| 国产成人精品国内自产拍免费看| 国产在线精品成人一区二区三区| 欧美性猛交xxxx乱大交极品| 国产裸体写真av一区二区| 亚洲黄色av女优在线观看| 91天堂在线视频| 久久香蕉国产线看观看网| 成人高h视频在线| 中文字幕综合在线| www.久久色.com| 欧美国产精品人人做人人爱| 国产日韩在线精品av| 91久热免费在线视频| 国产亚洲成av人片在线观看桃| 国产亚洲在线播放| 亚洲mm色国产网站| 成人欧美一区二区三区在线湿哒哒| 国产精品一区电影| 欧美在线亚洲在线| 国产精品人成电影在线观看| 亚洲永久免费观看| 久久天堂av综合合色| 国产z一区二区三区| xvideos成人免费中文版| 久久久黄色av| 欧美成人自拍视频| 欧洲午夜精品久久久| 日韩欧美精品免费在线| 国产有码一区二区| 国产视频久久久久| 91久久久久久| 亚洲国产成人精品久久| 欧美黑人一区二区三区| 国产999精品| 国产精品日韩欧美综合| 51精品国产黑色丝袜高跟鞋| 亚洲精品在线不卡| 日韩精品一区二区视频| 亚洲第一国产精品| 亚洲人成网7777777国产| 国产精品大片wwwwww| 久久久亚洲欧洲日产国码aⅴ| 国产亚洲精品久久久久动|