亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網(wǎng)

17站長網(wǎng) 首頁 數(shù)據(jù)庫 Mysql 查看內(nèi)容

MySQL復制技術之部署中遇到的問題

2023-3-16 15:34| 查看: 2766 |來源: 互聯(lián)網(wǎng)

MySQL復制技術指部署中遇到的問題A. 復制中斷 mysql主從復制,經(jīng)常會遇到錯誤而導致slave端復制中斷,這個時候一般就需要人工干預,跳過錯誤才能繼續(xù) 跳過 ...

MySQL復制技術指部署中遇到的問題

A.     復制中斷

      mysql主從復制,經(jīng)常會遇到錯誤而導致slave端復制中斷,這個時候一般就需要人工干預,跳過錯誤才能繼續(xù)

      跳過錯誤有兩種方式:

1.跳過指定數(shù)量的事務:

     mysql>slave stop;

     mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1        #跳過一個事務

      mysql>slave start

2.修改mysql的配置文件,通過slave_skip_errors參數(shù)來跳所有錯誤或指定類型的錯誤

vi /etc/my.cnf

[mysqld]

#slave-skip-errors=1062,1053,1146 #跳過指定error no類型的錯誤

#slave-skip-errors=all #跳過所有錯誤

B.     冷備份恢復的UUID問題

         本次的slave是通過關閉master后,直接復制datadir目錄下的所有文件到slave服務器;然后啟動slave,則會報錯

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.

分析問題:

  上面報錯說的是replication架構中需要保證每個mysql實例UUID(UUID保存在datadir目錄下的auto.cnf文件中)唯一,就跟server_id一樣需要保證主從架構中所有mysql實例server_id唯一。

  之所以出現(xiàn)會出現(xiàn)這樣的問題,是因為我的從庫主機是克隆的主庫所在的主機,所以auto.cnf文件中保存的UUID會出現(xiàn)重復(server_id已經(jīng)在my.cnf文件中修改過)

解決問題:

  關于該問題的解決方案其實很簡單,停掉備庫實例,刪除備庫的auto.cnf文件,啟動備庫實例,此時備庫就會產(chǎn)生一個新的auto.cnf文件(產(chǎn)生新的UUID)。網(wǎng)上也有人說直接修改auto.cnf里面的uuid值,然后重啟從庫實例,該種方案沒有測試過。

C.     Last_SQL_Errno: 1677

Last_SQL_Errno: 1677

Last_SQL_Error: Column 0 of table ‘a(chǎn)a.heartbeat’ cannot be converted from type ‘smallint’ to type ‘int(11)’

   @Shane Bester 建議slave_type_conversions=ALL_NON_LOSSY,能解決這個問題。以前沒有關注過這個參數(shù),我們線上環(huán)境都沒有設置。

   slave_type_conversions:在slave上進行字段類型轉(zhuǎn)化的,因為主備之間可能在某些情況下,有相同的表名,但字段多少、字段類型、字段順序不一樣,可能導致1677錯誤,這時需要設置相應參數(shù)來進行處理。

   MySQL 5.5.3版本開始,支持屬性提升特性,包括有損轉(zhuǎn)化和無損轉(zhuǎn)換

   參數(shù)支持值:

   1、ALL_LOSSY:可以將int型轉(zhuǎn)化成tinyint,存在截斷的情況,有損轉(zhuǎn)化

   2、ALL_NON_LOSSY:不允許出現(xiàn)截斷情況,slave的類型范圍大于master方可轉(zhuǎn)化。設置這個參數(shù)后,如果存在截斷情況,slave會報錯

   3、以后兩個參數(shù)都設置,就存在截斷的情況

   4、未設置,主備之間必須一致

   在slave上類型轉(zhuǎn)化需要注意:

   Whether you use statement-based or row-based replication, the slave’s copy of the table cannot contain more columns than the master’s copy if you wish to employ attribute promotion.

參考:

http://dev.mysql.com/doc/refman/5.5/en/replication-features-differing-tables.html#replication-features-attribute-promotion

在一臺主機上增加一個slave,啟動的時候報

[ERROR] Slave SQL: Slave failed to initialize relay log info structure from the repository, Error_code: 1872

原因可能是:1、my.cnf沒指定relay_log,2、沒有reset slave

本文最后更新于 2023-3-16 15:34,某些文章具有時效性,若有錯誤或已失效,請在網(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號:w17tui,關注站長、創(chuàng)業(yè)、關注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業(yè)用途,如果損害了您的權利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務,與站長一起進步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨!

掃一掃,關注站長網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部