<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Mysql主從同步配置

      Mysql主從同步配置

      配置準(zhǔn)備

      • 需要兩個數(shù)據(jù)庫
      • mysql 可視化工具,當(dāng)然使用用命令行也可以
      • 我這里演示使用 docker 啟動兩個 mysql 容器, 你也可以安裝兩個 mysql 前提版本一致

      第一步

      安裝兩個 mysql

      創(chuàng)建 msyql 掛載目錄

      [root@localhost /]# mkdir -p /opt/docker/mysql1/conf/
      [root@localhost /]# mkdir -p /opt/docker/mysql1/logs/
      [root@localhost /]# mkdir -p /opt/docker/mysql1/data/
      

      啟動第一個 mysql 掛載對應(yīng)的文件目錄 port: 6894

      [root@localhost /]# docker run -d -p 6894:3306 --name mysql1 \
                          -v /opt/docker/mysql1/conf:/etc/mysql/ \
                          -v /opt/docker/mysql1/logs:/logs \
                          -v /opt/docker/mysql1/data:/var/lib/mysql \
                          --privileged=true \
                          -e MYSQL_ROOT_PASSWORD=qtykGhC29eP4Smp mysql:5.7 
      

      通過拷貝第二個 mysql

      需要注意復(fù)的 mysql /opt/docker/mysql2/data/auto.cnf 目錄下有一個 auth.cnf 需要刪除

      [root@localhost docker]# cp -r /opt/docker/mysql1/ /opt/docker/mysql2/
      

      刪除 auth.cnf 文件

      [root@localhost docker]# rm -f /opt/docker/mysql2/data/auto.cnf 
      

      啟動第二個 mysql

      [root@localhost docker]#  docker run -d -p 6895:3306 --name mysql2 \
                          -v /opt/docker/mysql2/conf:/etc/mysql/ \
                          -v /opt/docker/mysql2/logs:/logs \
                          -v /opt/docker/mysql2/data:/var/lib/mysql \
                          --privileged=true \
                          -e MYSQL_ROOT_PASSWORD=qtykGhC29eP4Smp mysql:5.7 
      

      第二步

      編寫mysql配置文件

      主庫 my.cnf 文件

      [root@localhost docker]# vim /opt/docker/mysql1/conf/my.cnf
      

      my.cnf 文件內(nèi)容

      [mysqld]
      # 主庫配置
      server-id=1 # 服務(wù) id 唯一性
      log-bin=mysql1-log # 開啟二進制日志 
      binlog-format=ROW # 日志記錄模式
      replicate-do-db=db_docker # 要復(fù)制的數(shù)據(jù)名稱
      # replicate-ignore-db=db_docker # 不需要復(fù)制的數(shù)據(jù)名稱
      

      從庫 my.cnf 文件

      [root@localhost docker]# vim /opt/docker/mysql2/conf/my.cnf
      

      my.cnf 文件內(nèi)容

      [mysqld]
      # 從庫配置
      server-id=2   # 服務(wù) id 唯一性
      log-bin=mysql2-log  # 開啟二進制日志 
      binlog-format=ROW # 日志記錄模式 
      binlog-do-db=db_docker # 要復(fù)制的數(shù)據(jù)名稱
      # binlog-ignore-db=db_docker # 不需要復(fù)制的數(shù)據(jù)名稱
      

      重啟 docker mysql 容器

      [root@localhost docker]# docker restart mysql1
      [root@localhost docker]# docker restart mysql2
      

      第三步

      初始化數(shù)據(jù)

      兩個 mysql 分別執(zhí)行以下 sql 語句創(chuàng)建數(shù)據(jù)庫創(chuàng)建表

      -- 創(chuàng)建數(shù)據(jù)庫
      CREATE DATABASE `db_docker`;
      USE db_docker;
      -- 創(chuàng)建表
      CREATE TABLE `t_docker` (
          `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
          `name` VARCHAR ( 255 ) DEFAULT NULL,
           PRIMARY KEY ( `id` )
      ) ENGINE = INNODB AUTO_INCREMENT =0 DEFAULT CHARSET = utf8;
      

      查看主庫二進制日志

      主庫執(zhí)行以下命令輸出二進制日志文件的狀態(tài)信息

      mysql> SHOW MASTER STATUS ;
      +------------------+----------+--------------+------------------+-------------------+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
      +------------------+----------+--------------+------------------+-------------------+
      | mysql-bin.000001 |     2223 |              |                  |                   |
      +------------------+----------+--------------+------------------+-------------------+
      
      

      配置從庫二進制日志

      從庫更改用于連接到復(fù)制主庫、讀取主庫的二進制日志和讀取從庫的中繼日志的參數(shù)

      CHANGE MASTER TO
      MASTER_HOST="192.168.101.59", # 主機地址 你的主服務(wù)器 ip
      Master_Port=6894, # 端口
      MASTER_USER="root", # 賬號
      MASTER_PASSWORD="qtykGhC29eP4Smp", # 密碼
      MASTER_LOG_FILE="mysql-bin.000001", # 主庫二進制文件名 根據(jù)實際情況填寫
      MASTER_LOG_POS=377; # 主庫二進制文件位置 根據(jù)實際情況填寫
      

      從庫執(zhí)行,啟動復(fù)制

      mysql> START SLAVE;
      

      從庫線程的基本參數(shù)的狀態(tài)信息。從 MySQL 8.0.22 開始,使用 SHOW REPLICA STATUS代替 SHOW SLAVE STATUS,該版本已棄用。在 MySQL 8.0.22 之前的版本中,使用SHOW SLAVE STATUS. 該語句需要REPLICATION CLIENT特權(quán)(或已棄用的 SUPER特權(quán))。

      以下兩參數(shù)為 yes 表示配置成功,否則配置有問題。 Slave_IO_Running: Yes Slave_SQL_Running: Yes

      如果以上兩個參數(shù)有一個未 No 說明有錯誤,請查看這個兩個字段 Last_Errno Last_Error

      錯誤內(nèi)容會記錄在 Last_Error 這個字段中,根據(jù)錯誤內(nèi)容修改。

      mysql>  SHOW SLAVE STATUS \G;
      *************************** 1. row ***************************
                     Slave_IO_State: Waiting for master to send event
                        Master_Host: 192.168.101.59
                        Master_User: root
                        Master_Port: 6894
                      Connect_Retry: 60
                    Master_Log_File: mysql-bin.000001
                Read_Master_Log_Pos: 2223
                     Relay_Log_File: 98394ee2fb48-relay-bin.000004
                      Relay_Log_Pos: 320
              Relay_Master_Log_File: mysql-bin.000001
                   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: 2223
                    Relay_Log_Space: 534
                    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: aa58ab20-f500-11eb-aa65-0242ac110002
                   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 more updates
                 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
               Replicate_Rewrite_DB: 
                       Channel_Name: 
                 Master_TLS_Version: 
      

      其他

      mysql 相關(guān)命令

      停止主庫的數(shù)據(jù)更新操作

      mysql>flush tables with read lock;
      

      主庫解鎖

      mysql>unlock tables;
      

      從庫執(zhí)行,停止復(fù)制; 當(dāng)從庫配置二進制日志出錯時,需要停止復(fù)制或重置,再重新配置,讓后啟動復(fù)制

      mysql> STOP SLAVE;
      

      從庫執(zhí)行,重置復(fù)制

      mysql> RESET SLAVE;
      

      mysql 注意事項

      • 版本不同對應(yīng)的命令和配置文件可能存在差異
      • 演示使用的是 mysql 5.7
      • 如果命令或配置不起作用 詳情官網(wǎng)
      • 在實際應(yīng)用中盡量不要使用默認(rèn)端口 3306 容易被攻擊

      mysql 容器

      進入容器

      docker exec -it mysql2 /bin/sh
      # mysql2 容器名稱 這里也可以是容器 id
      

      登錄 mysql

      mysql -u root -pqtykGhC29eP4Smp
      
      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 9
      Server version: 5.7.35-log MySQL Community Server (GPL)
      
      Copyright (c) 2000, 2021, Oracle and/or its affiliates.
      
      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> 
      

      my.cnf 配置解釋

      [mysqld]
      # 主庫配置
      # 指定一個唯一的服務(wù)器 ID,可以為0但是服務(wù)器會拒絕,所以有效值 1~4294967295 之間。默認(rèn)值1
      # 官網(wǎng) https://dev.mysql.com/doc/refman/5.7/en/replication-options.html
      server-id=1
      # 開啟二進制日志,二進制文件名稱,可以是路徑 例如: /logs/mysql/log 但是需要注意給目錄文件提權(quán),否則mysql可以無權(quán)寫入,導(dǎo)致報錯。
      log-bin=mysql1-log
      # 日志記錄模式 有三種 
      # STATEMENT 導(dǎo)致日志記錄基于語句。
      # ROW 導(dǎo)致日志記錄基于行。這是默認(rèn)設(shè)置。
      # MIXED 導(dǎo)致日志記錄使用混合格式。介于 前兩種模式之間
      # 官網(wǎng) https://dev.mysql.com/doc/refman/5.7/en/binary-log-setting.html
      binlog-format=ROW 
      # 要復(fù)制的數(shù)據(jù)名稱,要指定多個數(shù)據(jù)庫,您必須使用此選項的多個實例。
      # 由于數(shù)據(jù)庫名稱可以包含逗號,如果您提供逗號分隔列表,則該列表將被視為單個數(shù)據(jù)庫的名稱。
      # 多個實例:
      # replicate-do-db=db_docker1 
      # replicate-do-db=db_docker2 
      replicate-do-db=db_docker 
      # 不需要復(fù)制的數(shù)據(jù)名稱,配置同上
      # replicate-ignore-db=db_docker # 不需要復(fù)制的數(shù)據(jù)名稱
      
      [mysqld]
      # 從庫配置同上 舉一反三
      server-id=2   # 服務(wù) id 唯一性
      log-bin=mysql2-log  # 開啟二進制日志 
      binlog-format=ROW # 日志記錄模式 
      binlog-do-db=db_docker # 要復(fù)制的數(shù)據(jù)名稱
      # binlog-ignore-db=db_docker # 不需要復(fù)制的數(shù)據(jù)名稱
      

      auth.cnf 文件

      文件內(nèi)容 server-uuid

      這里 UUID 也是必須唯一,啟動的時候會自動生成。如果您也是通過復(fù)制 mysql data 目錄創(chuàng)建的數(shù)據(jù)庫需要刪除該文件

      [auto]
      server-uuid=aa58ab20-f500-11eb-aa65-0242ac110002
      

      UUID相同會報以下錯誤

      Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
      

      官網(wǎng)二進制日志配置:https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html

      posted @ 2021-08-05 10:47  天葬  閱讀(478)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 大地资源中文第三页| 亚洲男人的天堂av手机在线观看| 国产成人精品一区二三区| 无码人妻精品一区二区三区下载| 中文国产人精品久久蜜桃| 男女性高爱潮免费网站| 熟女丝袜潮喷内裤视频网站| 国产熟女一区二区三区四区| 欧美交a欧美精品喷水| 革吉县| 神马久久亚洲一区 二区| 国产玖玖视频| 亚洲一区二区av免费| 激情啪啪啪一区二区三区| 潘金莲高清dvd碟片| 中文无码妇乱子伦视频| 霍城县| 内射人妻视频国内| 亚洲成人高清av在线| 天天爱天天做天天爽夜夜揉| 亚洲中文字幕久久精品码| av中文无码韩国亚洲色偷偷| 国产日韩综合av在线| 国产精品亚韩精品无码a在线| 国产粉嫩区一区二区三区| 亚洲成人av在线资源| 高清偷拍一区二区三区| 精品熟女日韩中文十区| 激情五月开心综合亚洲| 日本乱码在线看亚洲乱码| 亚洲高清免费在线观看| 这里只有精品在线播放| 欧美大香线蕉线伊人久久| 亚洲第三十四九中文字幕| 中文字幕国产原创国产| 99久久国产成人免费网站| 蜜桃臀av一区二区三区| 国产v综合v亚洲欧美大天堂| 91久久国产成人免费观看| 亚洲精品久久久久成人2007| 亚洲人成人一区二区三区|