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

首頁 > 數據庫 > MySQL > 正文

MySQL 復制詳解及簡單實例

2024-07-24 13:13:05
字體:
來源:轉載
供稿:網友

MySQL 復制詳解及簡單實例

 主從復制技術在MySQL中被廣泛使用,主要用于同步一臺服務器上的數據至多臺從服務器,可以用于實現負載均衡,高可用和故障切換,以及提供備份等等。MySQL支持多種不同的復制技術,諸如單向,半同步異步復制等以及不同級別的復制,諸如數據庫級別,表級,跨庫同步等等。本文簡要描述了一個基本的主從復制并給出示例。 

1、復制的基本原理(步驟)

    a、在主庫上把數據更改記錄的二進制日志(binary log)
    b、從庫上的I/O線程連接到主庫并請求發送其二進制日志文件(主庫上的binlog dump線程將二進制日志內容發送到從庫)
    c、從庫上的I/O線程讀取主服務發送的二進制內容并將其拷貝到中繼日志
    d、從庫上的SQL線程讀取中繼日志并執行日志中包含的更新 

2、為配置文件添加復制項

# 本文的演示基于同一服務器上的多實例環境,其中3406端口用作主庫,而3506用作從庫。 # 關于多實例的部署可參考: # MySQL多實例配置(一) http://blog.csdn.net/leshami/article/details/40339167 # MySQL多實例配置(二) http://blog.csdn.net/leshami/article/details/40339295 # 3406與3506為都為新裝且含缺省庫等,所以本文演示中未涉及先遷移主庫數據到備庫步驟 a、主庫上的配置文件 # more my3406.cnf  [mysqld] socket = /tmp/mysql3406.sock port = 3406 pid-file = /data/inst3406/data3406/my3406.pid user = mysql log-error=/data/inst3406/data3406/inst3406.err datadir=/data/inst3406/data3406 basedir=/app/soft/mysql5  #### for master items #### server-id=3406 log_bin=/data/inst3406/log/bin/inst3406bin innodb_flush_log_at_trx_commit=1 sync_binlog=1  b、從庫上的配置文件 # more my3506.cnf  [mysqld] socket = /tmp/mysql3506.sock   # Author : Leshami port = 3506            # Blog  : <a target="_blank" href="http://blog.csdn.net/leshamipid-file" rel="external nofollow" >http://blog.csdn.net/leshami pid-file</a> = /data/inst3506/data3506/my3506.pid user = mysql log-error=/data/inst3506/data3506/inst3506.err datadir=/data/inst3506/data3506 basedir=/app/soft/mysql5  #### for slave items #### server-id=3506 relay_log=/data/inst3506/log/relay/relay-bin read_only=1 

3、創建復制賬號

#啟動端口為3406的實例并添加賬戶 [mysql@app ~]$ mysqld_safe --defaults-file=/data/inst3406/data3406/my3406.cnf & [mysql@app ~]$ mysql -P3406  #登陸到3406  master@localhost[(none)]> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id   | 3406 | +---------------+-------+  #創建用于復制的賬戶 master@localhost[(none)]> grant replication slave,replication client on *.*   -> to repl@'192.168.1.177' identified by 'repl';  #初始化主庫日志文件,生成環境慎用reset master@localhost[(none)]> reset master; Query OK, 0 rows affected (0.01 sec)  #查看主庫的狀態,日志初始化至000001, master@localhost[(none)]> show master status,Position為120 +--------------------+----------+--------------+------------------+-------------------+ | File        | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +--------------------+----------+--------------+------------------+-------------------+ | inst3406bin.000001 |   120 |       |         |          | +--------------------+----------+--------------+------------------+-------------------+ 

4、配置主從同步

#啟動端口為3506的實例 [mysql@app ~]$ mysqld_safe --defaults-file=/data/inst3506/data3506/my3506.cnf &  [mysql@app ~]$ msyql -P3506  slave@localhost[(none)]> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id   | 3506 | +---------------+-------+ 1 row in set (0.00 sec)  #為從庫添加指向主庫的相關配置信息,該命令會生成及修改備庫上的master.info及relay-log.info文件 slave@localhost[(none)]> CHANGE MASTER TO MASTER_HOST='192.168.1.177',   -> MASTER_USER='repl',   -> MASTER_PASSWORD='repl',   -> MASTER_PORT=3406,   -> MASTER_LOG_FILE='inst3406bin.000001',   -> MASTER_LOG_POS=0; Query OK, 0 rows affected, 2 warnings (0.04 sec)  #出現了2個warnings,查看一下 slave@localhost[(none)]> show warnings /G *************************** 1. row ***************************  Level: Note   Code: 1759 Message: Sending passwords in plain text without SSL/TLS is extremely insecure. *************************** 2. row ***************************  Level: Note   Code: 1760 Message: Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended.  Please see the MySQL Manual for more about this issue and possible alternatives. 2 rows in set (0.00 sec)  #此時查看從庫的狀態信息 slave@localhost[(none)]> show slave status /G *************************** 1. row ***************************         Slave_IO_State:           Master_Host: 192.168.1.177          Master_User: repl          Master_Port: 3406         Connect_Retry: 60        Master_Log_File: inst3406bin.000001      Read_Master_Log_Pos: 4         Relay_Log_File: relay-bin.000001         Relay_Log_Pos: 4     Relay_Master_Log_File: inst3406bin.000001        Slave_IO_Running: No   #IO線程沒有運行       Slave_SQL_Running: No   #SQL線程沒有運行           ......................        Master_Info_File: /data/inst3506/data3506/master.info  slave@localhost[(none)]> start slave; #啟動slave Query OK, 0 rows affected (0.01 sec)  #含義如下 START SLAVE with no thread_type options starts both of the slave threads. The I/O thread reads events from the master server and stores them in the relay log. The SQL thread reads events from the relay log and executes them.  #再次查看slave的狀態 robin@localhost[(none)]> show slave status/G *************************** 1. row ***************************         Slave_IO_State: Waiting for master to send event          Master_Host: 192.168.1.177          Master_User: repl          Master_Port: 3406         Connect_Retry: 60        Master_Log_File: inst3406bin.000001      Read_Master_Log_Pos: 120         Relay_Log_File: relay-bin.000002         Relay_Log_Pos: 285     Relay_Master_Log_File: inst3406bin.000001        Slave_IO_Running: Yes    #IO線程處于運行狀態        Slave_SQL_Running: Yes    #SQL線程處于運行狀態             ..............      Exec_Master_Log_Pos: 120        Relay_Log_Space: 452            ............        Master_Server_Id: 3406          Master_UUID: 32f53a0a-63ef-11e4-93d9-8c89a5d108ae        Master_Info_File: /data/inst3506/data3506/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 #重要的提示信息  #可以看到從庫上的2個線程,一個是用于I/O線程,用于連接到主庫請求主庫發送binlog,一個是用于執行SQL的SQL線程。 slave@localhost[(none)]> show processlist/G *************************** 1. row ***************************    Id: 4   User: system user   Host:     db: NULL Command: Connect   Time: 510993  State: Waiting for master to send event   Info: NULL *************************** 2. row ***************************    Id: 5   User: system user   Host:     db: NULL Command: Connect   Time: 333943  State: Slave has read all relay log; waiting for the slave I/O thread to update it   Info: NULL 

5、驗證同步情況

#下面在主庫上執行一些操作以檢查從庫的同步情況 master@localhost[(none)]> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id   | 3406 | +---------------+-------+ 1 row in set (0.00 sec)  #主庫上Binlog Dump線程用于發送binlog日志文件到從庫,如下查詢 master@localhost[(none)]> show processlist/G *************************** 1. row ***************************    Id: 12   User: repl   Host: 192.168.1.177:57440    db: NULL Command: Binlog Dump   Time: 511342  State: Master has sent all binlog to slave; waiting for binlog to be updated   Info: NULL    #主庫創建數據庫及表 master@localhost[(none)]> create database tempdb; Query OK, 1 row affected (0.01 sec)  master@localhost[(none)]> use tempdb Database changed master@localhost[tempdb]> create table tb_engines as select * from information_schema.engines; Query OK, 9 rows affected (0.02 sec) Records: 9 Duplicates: 0 Warnings: 0  #下面是在從庫上檢查的結果 slave@localhost[(none)]> select count(*) from tempdb.tb_engines; +----------+ | count(*) | +----------+ |    9 | +----------+ 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合久久88色综合天天看泰| 国产精品女人网站| 2019中文字幕在线观看| 中文精品99久久国产香蕉| 亚洲精品一区久久久久久| 日韩精品电影网| 日韩欧美综合在线视频| 高跟丝袜欧美一区| 91色在线观看| 亚洲精品乱码久久久久久按摩观| 国产精品偷伦免费视频观看的| 亚洲人成电影在线播放| 亚洲图片在线综合| 中文字幕亚洲一区二区三区| 欧美电影免费观看网站| 国产精品69精品一区二区三区| 国产一区二区av| 日韩精品小视频| 国产精品黄色av| 日韩av在线高清| 欧美午夜激情视频| 欧美大片在线免费观看| 亚洲性生活视频在线观看| 精品美女永久免费视频| 久久久久久久久久久91| 日本不卡高字幕在线2019| 日韩av综合中文字幕| 久久手机精品视频| 538国产精品视频一区二区| 欧美精品videosex性欧美| 亚洲sss综合天堂久久| 这里精品视频免费| 精品国内产的精品视频在线观看| 青草青草久热精品视频在线观看| 亚洲成人久久网| 国产精品美女久久久久久免费| 日韩成人av在线播放| 国内精品久久久久久| 欧美国产一区二区三区| 一区二区三区美女xx视频| 欧美中文字幕视频在线观看| 亚洲色图激情小说| 欧美多人爱爱视频网站| 26uuu另类亚洲欧美日本一| 亚洲深夜福利视频| 国内精品久久久久久影视8| 亚洲欧美日韩另类| 奇米成人av国产一区二区三区| 日韩在线观看免费全集电视剧网站| 亚洲日本中文字幕免费在线不卡| 久久国产精品久久久| 中文字幕欧美视频在线| 欧美激情欧美激情| 欧美另类老肥妇| 宅男66日本亚洲欧美视频| 国产亚洲欧美日韩一区二区| 国产精品久久中文| 亚洲国产精品国自产拍av秋霞| 亚洲欧美激情一区| 亚洲欧美国产日韩中文字幕| 亚洲欧美国内爽妇网| 成人免费在线视频网站| 成人精品视频99在线观看免费| 国产亚洲精品激情久久| 日韩av电影在线网| 日韩精品极品毛片系列视频| 一区二区三区视频观看| 成人h视频在线| 久久国产精品久久国产精品| 91av视频导航| 久久久久久久91| 久久精品99久久久香蕉| 欧美色另类天堂2015| 日韩大片在线观看视频| 精品久久久999| 国产精品偷伦免费视频观看的| 影音先锋欧美精品| 日韩av不卡在线| 97香蕉超级碰碰久久免费的优势| 在线亚洲男人天堂| xvideos成人免费中文版| 91av视频在线观看| 日韩av影片在线观看| 久久久中精品2020中文| 亚洲美女福利视频网站| 欧美日韩ab片| 久久久亚洲国产| 欧美成人中文字幕在线| 久久亚洲成人精品| 欧美日韩成人网| 亚洲一区二区三区毛片| 成人444kkkk在线观看| 欧美在线视频一区| 国产精品va在线播放| 欧美一级黄色网| 成人xxxx视频| 欧美性猛交xxxx黑人| 日本免费久久高清视频| 欧美午夜精品伦理| 日韩大陆毛片av| 黑人与娇小精品av专区| 日韩免费在线电影| 91久久国产精品91久久性色| 亚洲精品一区av在线播放| 国产精自产拍久久久久久| 国产精品免费视频xxxx| 国产精品国产福利国产秒拍| 国产精品精品视频一区二区三区| 久久久人成影片一区二区三区观看| 欧美精品午夜视频| 午夜精品久久久久久久99热| 亚洲国产日韩欧美在线图片| 国产中文欧美精品| 日韩欧美在线视频| 欧美—级高清免费播放| 亚洲最大福利网| 久久综合伊人77777| 欧美一区二区视频97| 伊人亚洲福利一区二区三区| 亚洲国产日韩欧美在线图片| 国产精品一区二区三| 国产xxx69麻豆国语对白| 久久精品国产一区二区三区| 欧美日韩在线免费观看| 国产精品大陆在线观看| 亚洲精品网址在线观看| 亚洲午夜国产成人av电影男同| 中文字幕久热精品在线视频| 久久青草精品视频免费观看| 国产精品黄页免费高清在线观看| 一本久久综合亚洲鲁鲁| 精品国产91乱高清在线观看| 亚洲无限av看| 久久色免费在线视频| 成人国产精品一区二区| 亚洲国产精彩中文乱码av在线播放| 欧美亚洲视频在线观看| 日韩精品在线免费观看| 国产成人在线视频| 91免费人成网站在线观看18| 国产免费成人av| …久久精品99久久香蕉国产| 91中文字幕在线| 97视频免费看| 国产精品欧美一区二区| 福利一区福利二区微拍刺激| 中文字幕一精品亚洲无线一区| 亚洲午夜久久久久久久| 久久久久久久久中文字幕| 精品国产欧美成人夜夜嗨| 欧美日韩亚洲天堂| 亚洲欧美日韩另类| 国产精品久久网| 91免费在线视频| 成人有码在线视频| 粗暴蹂躏中文一区二区三区| 欧美激情中文字幕乱码免费| 欧美性极品xxxx做受| 亚洲码在线观看| 国产午夜精品麻豆| 日韩精品极品视频| 日韩精品免费在线视频观看| 伊人伊成久久人综合网小说| 国内伊人久久久久久网站视频|