国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

mysql 數(shù)據(jù)庫主從復制搭建

這篇具有很好參考價值的文章主要介紹了mysql 數(shù)據(jù)庫主從復制搭建。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

MySQL 主從復制主要用于實現(xiàn)高可用性和備份。在主從復制中,一個 MySQL 實例(稱為主節(jié)點)將其數(shù)據(jù)更改復制到至少一個其他 MySQL 實例(稱為從節(jié)點)上。主要借助于數(shù)據(jù)庫二進制日志binlog進行數(shù)據(jù)的復制。
主從數(shù)據(jù)庫對應的操作系統(tǒng)、數(shù)據(jù)庫版本要一致。

1、主庫配置

設定一個唯一的server ID,開啟二進制日志。serverId默認值是1,最大可取值2^32-1。

配置文件:my.cnf

[mysqld]
#配置serverId
server_id=1
# 開啟 binlog
log-bin=mysql-bin 
#配置不需要同步的庫
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema

重啟服務

systemctl restart mysqld
2、從庫配置

配置文件my.cnf

[mysqld]
server-id=21
log-bin=mysql-bin
read_only=1

read_only設置數(shù)據(jù)庫為只讀,注意如果用戶有super權限還是可以修改數(shù)據(jù)的。

3、創(chuàng)建復制用戶
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'repl';
mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%';

數(shù)據(jù)復制只需要REPLICATION SLAVE權限就可以了,REPLICATION CLIENT權限是為了能查看復制狀態(tài)。如下面的show master status命令就需要該權限。

4、獲取二進制日志坐標
mysql> SHOW MASTER STATUS \G;
*************************** 1. row ***************************
             File: mysql-bin.000003
         Position: 11199
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set:

File是當前的binlog日志文件,position是當前位置。

5、創(chuàng)建數(shù)據(jù)快照

如果要同步的數(shù)據(jù)庫有存量數(shù)據(jù),先進行同步數(shù)據(jù)

主庫卸數(shù)

mysqldump -uroot -p --master-data db_test > db_test.sql

db_test是要同步的數(shù)據(jù)庫名稱,也可以不指定數(shù)據(jù)庫,使用–all-databases來dump所有的數(shù)據(jù)庫。

–master-data用來在從庫自動生成一條設置master信息的語句。會設置對應的MASTER_LOG_FILE和MASTER_LOG_POS。這樣可以達到不停機備份同步的效果。

例:

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=11199;

在高版本的mysql中,已經(jīng)過時使用–source-data替代。

備庫導入初始數(shù)據(jù)

首先要創(chuàng)建對應的數(shù)據(jù)庫:create database db_test;

mysql -u root -p  db_test < db_test.sql

如果是已經(jīng)命令行登錄,可以在命令行直接執(zhí)行:source 數(shù)據(jù)文件來導入初始數(shù)據(jù)。

6、開啟復制
CHANGE MASTER TO MASTER_HOST='192.168.1.101',MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=9026;

這里幾個參數(shù)都很好理解,host,port是主庫的連接地址,user,passowrd是上面主庫上創(chuàng)建的復制用戶。

master_log_file是主庫當前binlog日志文件,master_log_pos指定從哪個位置開始復制。可以通過上面的show master status獲取后面兩個參數(shù)。

另外上面在導出主庫數(shù)據(jù)時也說了,如果mysqldump加上–master-data參數(shù)在備份數(shù)據(jù)文件會自動生成設置后面兩個參數(shù)的語句。這里可以不用CHANGE MASTER命令配置了就。

CHANGE MASTER命令在高版本(8.0.23)中也替換成了CHANGE REPLICATION SOURCE命令。

開始復制

>start slave;

查看復制狀態(tài)

mysql> show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for source to send event
                  Master_Host: 192.168.1.100
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 11199
               Relay_Log_File: 50-relay-bin.000004
                Relay_Log_Pos: 1273
        Relay_Master_Log_File: mysql-bin.000003
             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: 11199
              Relay_Log_Space: 2246
              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: ceeb46c0-c925-11ed-8e74-fa163efb83e8
             Master_Info_File: mysql.slave_master_info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Replica 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: 
       Master_public_key_path: 
        Get_master_public_key: 0
            Network_Namespace:

復制狀態(tài)后很多信息,這里可以核對下CHANGE MASTER配置的master基本信息是否正確。Slave_IO_Running和Slave_SQL_Running可以查看當前復制線程狀態(tài)。

Read_Master_Log_Pos和Exec_Master_Log_Pos對比,SQL_Delay數(shù)量可以查看當前復制進度是否偶延遲。也可以通過Slave_SQL_Running_State描述信息來看當前復制狀態(tài)。

如果復制過程中有錯誤,Last_SQL_Errno和Last_SQL_Error會有對應的錯誤信息,更詳細的信息記錄在performance_schema.replication_applier_status_by_worker表中。

跳過錯誤

如果從庫在復制過程中發(fā)生了錯誤(某條語句在從庫上執(zhí)行失敗),如手動修改了從庫,導致復制語句無法執(zhí)行,在經(jīng)過具體錯誤信息分析后,可以通過sql_slave_skip_counter參數(shù)來設置跳過當前錯誤。

>stop slave;
>set global sql_slave_skip_counter = 1;
>start slave;

sql_slave_skip_counter參數(shù)設置跳過數(shù)量,start slave開啟復制使用過該變量后會將該參數(shù)重新歸0.文章來源地址http://www.zghlxwxcb.cn/news/detail-828933.html

到了這里,關于mysql 數(shù)據(jù)庫主從復制搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • MySQL數(shù)據(jù)庫 主從復制與讀寫分離

    讀寫分離,基本的原理是讓主數(shù)據(jù)庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從數(shù)據(jù)庫處理SELECT查詢操作。數(shù)據(jù)庫復制被用來把事務性操作導致的變更同步到集群中的從數(shù)據(jù)庫。 因為數(shù)據(jù)庫的“寫”(寫10000條數(shù)據(jù)可能要3分鐘)操作是比較耗時的。 但是數(shù)據(jù)庫

    2024年02月10日
    瀏覽(30)
  • 【數(shù)據(jù)庫】mysql主從復制與讀寫分離

    【數(shù)據(jù)庫】mysql主從復制與讀寫分離

    ??讀寫分離,基本的原理是讓主數(shù)據(jù)庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE ),而從數(shù)據(jù)庫處理SELECT查詢操作。數(shù)據(jù)庫復制被用來把事務性操作導致的變更同步到集群中的從數(shù)據(jù)庫。 ??因為數(shù)據(jù)庫的\\\"寫”(寫10000條數(shù)據(jù)可能要3分鐘)操作是比較耗時的。 ??

    2024年02月11日
    瀏覽(27)
  • 【MySQL數(shù)據(jù)庫】主從復制與讀寫分離

    【MySQL數(shù)據(jù)庫】主從復制與讀寫分離

    讀寫分離,基本的原理是讓主數(shù)據(jù)庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從數(shù)據(jù)庫處理SELECT查詢操作。數(shù)據(jù)庫復制被用來把事務性操作導致的變更同步到集群中的從數(shù)據(jù)庫。 因為數(shù)據(jù)庫的“寫”(寫10000條數(shù)據(jù)可能要3分鐘)操作是比較耗時的。 但是數(shù)據(jù)庫

    2024年02月11日
    瀏覽(24)
  • 【數(shù)據(jù)庫七】MySQL主從復制與讀寫分離

    【數(shù)據(jù)庫七】MySQL主從復制與讀寫分離

    讀寫分離,基本的原理是讓主數(shù)據(jù)庫處理事務性增、改、刪操作 (insert、update、delete),而 從數(shù)據(jù)庫處理select查詢操作 。 數(shù)據(jù)庫復制被用來把事務性操作導致的變更同步到集群中的從數(shù)據(jù)庫 。 因為數(shù)據(jù)庫的“寫”(寫10000條數(shù)據(jù)可能要3分鐘)操作是比較耗時的。 但是數(shù)據(jù)

    2024年02月11日
    瀏覽(21)
  • MySQL高級第十七篇:數(shù)據(jù)庫主從復制原理及保證數(shù)據(jù)一致性

    MySQL高級第十七篇:數(shù)據(jù)庫主從復制原理及保證數(shù)據(jù)一致性

    在實際工作中,我們常常將Redis作為緩存與MySQL來配合使用,當有請求的時候,首先會從緩存中進行查找,如果存在就直接取出,如果不存在再訪問數(shù)據(jù)庫。 這樣就提升了讀取的效率,也減少了對后端數(shù)據(jù)庫的訪問壓力。 此外,對于一般數(shù)據(jù)庫應用而言,都是 讀多寫少 的,

    2023年04月25日
    瀏覽(26)
  • Mysql主從數(shù)據(jù)庫搭建(一主兩從)

    Mysql主從數(shù)據(jù)庫搭建(一主兩從)

    目錄 1、服務器規(guī)劃 2、主從同步流程 3、主從搭建 3.1、master節(jié)點上配置文件修改 3.2、master節(jié)點創(chuàng)建同步用戶和權限 3.3、slave1和slave2節(jié)點配置文件修改 3.4、slave1和slave2節(jié)點執(zhí)行同步任務 3.5、解決虛擬機克隆導致mysql所有服務器uuid都一樣的問題 4、bin-log相關說明 5、主從同步注

    2024年02月11日
    瀏覽(18)
  • Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

    Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

    目錄 1.背景? ? ? ?? 2.設備及軟件版本 3.開始搭建(這里不介紹安裝docker及mysql) 3.1創(chuàng)建主數(shù)據(jù)庫容器(master) 3.2查看容器是否創(chuàng)建成功 3.3進入修改容器下的/etc/my.cnf文件 3.3.1先拷貝my.cnf到容器外修改完再覆蓋容器原來的my.cnf文件 3.4重啟mysql容器使配置文件生效 3.5查看是否

    2024年02月08日
    瀏覽(30)
  • 基于docker搭建MySql主從數(shù)據(jù)庫(詳細步驟)

    基于docker搭建MySql主從數(shù)據(jù)庫(詳細步驟)

    在 Linux 中建立對應文件夾,用于存放MySql數(shù)據(jù)庫相關,文件夾路徑: /usr/local/software/mysql 。 在mysql文件下創(chuàng)建如下目錄結構的文件:(3306為主數(shù)據(jù)庫文件夾,筆者這里以對端口號來命名;3310為從數(shù)據(jù)庫文件夾,3311同理,可依次往下) 上傳 my.cnf 文件到 conf 文件夾下 以下是

    2024年02月09日
    瀏覽(34)
  • MySQL8.0+數(shù)據(jù)庫GTID主從模式搭建

    參見: MySQL數(shù)據(jù)庫8.0+版本部署安裝-CSDN博客 部署環(huán)境[例]: 主庫:192.168.179.153:3306 從庫:192.168.179.154:3306 主從庫開啟GTID模式 // 主從庫均修改,修改從庫配置文件,在[mysqld]下添加如下配置 $ vim /etc/my.cnf gtid_mode = on enforce_gtid_consistency = on 需檢查server-id配置,為主從架構中的所有

    2024年02月04日
    瀏覽(29)
  • Mysql數(shù)據(jù)庫搭建互為主從mysqlB的配置文件

    [client] port=3306 socket=/var/lib/mysql/mysql.sock [mysqld] port=3306 socket=/var/lib/mysql/mysql.sock datadir=/var/lib/mysql pid-file=/var/lib/mysql/mysql.pid log-error=/var/log/mysql.err server-id=2 #偶數(shù)ID auto_increment_offset=2 auto_increment_increment=2 #打開二進制功能,MASTER主服務器必須打開此項 log-bin=mysql-bin binlog-format=MIXED

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包