• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • mysql 主從復制優化、并行復制

    實驗環境:

    server2 為 server3 的 master

    server3 為 server1 的 master

    即server1、2、3的身份如下:

    server2:master

    server3:master / slave

    server2:slave

    由于先前做過其他數據庫實驗,環境是server2為master, server1和server3為slave

    實驗操作:

    server1、2、3配置文件修改如下:

    • server2
      這里寫圖片描述
    • server3
      這里寫圖片描述
    • server1
      這里寫圖片描述
      這里寫圖片描述
    • server3
    mysql> grant replication slave on *.* to 'tutu'@'172.25.54.%' identified by '5820hhXM!@#';
    Query OK, 0 rows affected, 1 warning (0.05 sec)
    • server1
    mysql> change master to master_host='172.25.54.3',master_user='tutu',master_password='5820hhXM!@#',master_auto_position=1;
    Query OK, 0 rows affected, 2 warnings (0.17 sec)

    若出現Slave_SQL_Running: No
    (原因:數據不同步,
    在 server3 上 reset msater;
    server1 上 shop slave; –> reset slave; –>start slave;)

    • server3
      這里寫圖片描述
    • server1
      這里寫圖片描述

    測試

    • server2
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
    mysql> create database test;
    Query OK, 1 row affected (0.13 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | test               |
    +--------------------+
    5 rows in set (0.00 sec)
    • server3 和 server1
      這里寫圖片描述
    • server2
    mysql> use test;
    Database changed
    mysql> create table userlist (
        -> username varchar(15) not null,
        -> password varchar(25) not null);
    Query OK, 0 rows affected (0.41 sec)
    
    mysql> desc userlist;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | username | varchar(15) | NO   |     | NULL    |       |
    | password | varchar(25) | NO   |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    2 rows in set (0.01 sec)
    
    mysql> insert into userlist values ('user1','147');
    Query OK, 1 row affected (0.09 sec)
    
    mysql> insert into userlist values ('user2','258');
    Query OK, 1 row affected (0.16 sec)
    
    mysql> insert into userlist values ('user3','369');
    Query OK, 1 row affected (0.08 sec)
    
    mysql> select * from userlist;
    +----------+----------+
    | username | password |
    +----------+----------+
    | user1    | 147      |
    | user2    | 258      |
    | user3    | 369      |
    +----------+----------+
    3 rows in set (0.00 sec)
    
    mysql> Bye
    [root@server2 ~]#
    • server3 和 server1
      這里寫圖片描述
      注:bin log索引文件: /var/lib/mysql/mysql-bin.index
      查看二進制日志:mysqlbinlog -vv –base64-output=DECODE-ROWS mysql-bin.000006 //-vv詳細顯示,–base64查看加密的數據

    并行復制

    • server3——單線程–>多線程工作
      mysql> show processlist;
      這里寫圖片描述
    [root@server3 ~]# vim /etc/my.cnf
    [root@server3 ~]# cat /etc/my.cnf | tail -n 11
    server-id=3
    log-bin=mysql-bin
    log-slave-updates
    
    gtid_mode=ON
    enforce-gtid-consistency=true
    slave-parallel-type=LOGICAL_CLOCK
    slave-parallel-workers=16
    master_info_repository=TABLE
    relay_log_info_repository=TABLE
    relay_log_recovery=ON
    [root@server3 ~]# /etc/init.d/mysqld restart
    Stopping mysqld:                                           [  OK  ]
    Starting mysqld:                                           [  OK  ]
    [root@server3 ~]# mysql -p5820hhXM\!\@#
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 23
    Server version: 5.7.17-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> show processlist;
    +----+-------------+---------------+------+------------------+-------+---------------------------------------------------------------+------------------+
    | Id | User        | Host          | db   | Command          | Time  | State                                                         | Info             |
    +----+-------------+---------------+------+------------------+-------+---------------------------------------------------------------+------------------+
    |  1 | system user |               | NULL | Connect          |    58 | Slave has read all relay log; waiting for more updates        | NULL             |
    |  2 | system user |               | NULL | Connect          |    60 | Waiting for master to send event                              | NULL             |
    |  3 | system user |               | NULL | Connect          | 83590 | Waiting for an event from Coordinator                         | NULL             |
    |  4 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    |  6 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    |  7 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    |  8 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    |  9 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 10 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 11 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 12 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 13 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 16 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 17 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 18 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 19 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 20 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 21 | system user |               | NULL | Connect          |    60 | Waiting for an event from Coordinator                         | NULL             |
    | 22 | tutu        | server1:48836 | NULL | Binlog Dump GTID |     5 | Master has sent all binlog to slave; waiting for more updates | NULL             |
    | 23 | root        | localhost     | NULL | Query            |     0 | starting                                                      | show processlist |
    +----+-------------+---------------+------+------------------+-------+---------------------------------------------------------------+------------------+
    20 rows in set (0.00 sec)
    版權聲明:本文為hh5820原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/hh5820/article/details/81738558

    智能推薦

    MySQL5.7安裝+基于GTID主從復制+并行復制+增強半同步復制+讀寫分離+M-S-S架構(聯級復制)

    實驗環境: Centos7.2 角色 主機IP server_id 數據狀態 Proxysql 192.168.148.62 null 無 Master 192.168.148.62 1 剛安裝的全新MySQL實例 Slave1 192.168.148.61 2 剛安裝的全新MySQL實例 Slave2 192.168.148.64 3 剛安裝的全新MySQL實例   一、安裝最新版本M...

    mysql的并行復制

    并行復制的介紹 MySQL 5.6版本也支持所謂的并行復制,但是其并行只是基于schema的,也就是基于庫的。如果用戶的MySQL數據庫實例中存在多個schema,對于從機復制的速度的確可以有比較大的幫助。 MySQL 5.7版本支持兩種復制方式:基于庫的復制方式和基于組的復制方式。 為了兼容MySQL 5.6基于庫的并行復制,5.7引入了新的變量slave-parallel-type,其可以配置...

    Mysql并行復制實踐總結

    mysql并行復制總結 實戰篇 Mysql5.6 并行復制 一般Mysql主從復制有三個線程參與,都是單線程:Binlog Dump(主) -> IO Thread (從) -> SQL Thread(從)。 復制出現延遲一般出在兩個地方: SQL線程忙不過來 (可能需要應用數據量較大,可能和從庫本身的一些操作有鎖和資源的沖突;主庫可以并發寫,SQL線程不可以;主要原因) 網絡抖動導致...

    MySQL優化之主從復制

    概念 影響MySQL-A數據庫的操作,在數據庫執行后,都會寫入本地的日志系統A中。 假設,實時的將變化了的日志系統中的數據庫事件操作,在MYSQL-A的3306端口,通過網絡發給MYSQL-B。 MYSQL-B收到后,寫入本地日志系統B,然后一條條的將數據庫事件在數據庫中完成。 那么,MYSQL-A的變化,MYSQL-B也會變化,這樣就是所謂的MYSQL的復制,即MYSQL replication...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡