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

mysql主從同步配置及故障定位

這篇具有很好參考價(jià)值的文章主要介紹了mysql主從同步配置及故障定位。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、mysql主從配置過程

主節(jié)點(diǎn):
?? ?1) 啟動(dòng)二進(jìn)制日志;
?? ??? ?vim /etc/my.cnf | vim /etc/my.cnf.d/server.cnf
?? ??? ??? ?[mysqld]
?? ??? ??? ?log-bin=master-bin
?? ??? ??? ?server-id=1
?? ??? ??? ?innodb_file_per_table=ON
?? ??? ??? ?skip_name_resolve=ON
?? ??? ?systemctl restart mysqld
?? ?2) 為當(dāng)前節(jié)點(diǎn)設(shè)置一個(gè)全局唯一的id號(hào);
?? ?3) 創(chuàng)建有復(fù)制權(quán)限REPLICATION SLAVE, REPLICATION CLIENT的用戶賬號(hào);
?? ??? ?grant replication slave,replication client on *.* to 'repluser'@'172.18.%.%' identified by 'replpass';
?? ??? ?flush privileges;

從節(jié)點(diǎn):
?? ?1) 啟動(dòng)中繼日志;
?? ??? ?vim /etc/my.cnf
?? ??? ??? ?relay-log=relay-log
?? ??? ??? ?server-id=2
?? ??? ??? ?innodb_file_per_table=ON
?? ??? ??? ?skip_name_resolve=ON
?? ??? ?systemctl restart mysqld
?? ?2) 為當(dāng)前節(jié)點(diǎn)設(shè)置一個(gè)全局唯一的id號(hào)并且和主節(jié)點(diǎn)不同;
?? ?3) 使用有復(fù)制權(quán)限的賬號(hào)連接至主服務(wù)器,并啟動(dòng)復(fù)制線程;
?? ??? ?change master to master_host='$ip',master_user='repluser',master_password='replpass',master_log_file='master-bin.000003',master_log_pos=245;
?? ??? ?start slave;

二、mysql主從同步故障定位

1.the slave i/o thread stops because master and slave have equal mysql server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it

問題原因:mysql主庫和從庫server_id相同

更改從庫id既可

2.error executing row event: 'table doesn't exist'

問題原因:主庫中有數(shù)據(jù),從庫是空庫無法直接同步

需先導(dǎo)入一次主庫備份的全量備份數(shù)據(jù),再進(jìn)行主從同步

3.could not execute update_rows event on table super_pms.issue_cli_queue; can't find record in 'issue_cli_queue', error_code: 1032; handler error ha_err_key_not_found; the event's master log mysql-bin-log.001793, end_log_pos 336631
解決辦法:

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

?4.ERROR 1858 (HY000): sql_slave_skip_counter can not be set when the server is running with @@GLOBAL.GTID_MODE = ON. Instead, for each transaction that you want to skip, generate an empty transaction with the same GTID as the transaction

解決辦法:

mysql> stop slave;
mysql> set global gtid_mode=ON_PERMISSIVE; 
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
mysql> START SLAVE; 
mysql> SHOW SLAVE STATUS\G;

mysql> set global gtid_mode=ON;
mysql> show variables like 'gtid_mode';

5.error 1236 報(bào)錯(cuò)

5.1 logevent超過max_allowed_packet 大小

  1. Got fatal error 1236 from master when reading data from binary log:?'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the start event position from 'mysql-bin.006730' at 290066246, the last event was read from '/u01/my3309/log/mysql-bin.006730

原因
? ?此類報(bào)錯(cuò)和max_allowed_packet相關(guān)。首先max_allowed_packet控制著主從復(fù)制過程中,一個(gè)語句產(chǎn)生的二進(jìn)制binlog event大小,它的值必須是1024的倍數(shù) 。出現(xiàn)此類錯(cuò)誤的常見原因是
?1 該參數(shù)在主備庫的配置大小不一樣,主庫的配置值大于從庫的配置值。 從主庫傳遞到備庫的binlog event大小超過了主庫或者備庫的max_allowed_packet大小。
?2 主庫有大量數(shù)據(jù)寫入時(shí),比如在主庫上執(zhí)行?laod data,insert into .... select 語句,產(chǎn)生大事務(wù)。
當(dāng)主庫向從庫傳遞一個(gè)比從庫的max_allowed_packet 大的packet ,從庫接收該packet失敗,并報(bào) “l(fā)og event entry exceeded max_allowed_packet“。
如何解決
?需要確保主備配置一樣,然后嘗試調(diào)大該參數(shù)的值。

mysql> set global max_allowed_packet?=1*1024*1024*1024;
mysql> stop slave;
mysql> start slave

另外,5.6 版本中的?slave_max_allowed_packet_size?參數(shù)控制slave 可以接收的最大的packet 大小,該值通常大于而且可以覆蓋 max_allowed_packet 的配置, 進(jìn)而減少由于上面的問題導(dǎo)致主從復(fù)制中斷。

5.2 slave 在主庫找不到binlog文件?

  1. Got fatal error 1236 from master when reading data from binary log:

原因
?該錯(cuò)誤發(fā)生在從庫的io進(jìn)程從主庫拉取日志時(shí),發(fā)現(xiàn)主庫的mysql_bin.index文件中第一個(gè)文件不存在。出現(xiàn)此類報(bào)錯(cuò)可能是由于你的slave 由于某種原因停止了好長(zhǎng)一段是時(shí)間,當(dāng)你重啟slave 復(fù)制的時(shí)候,在主庫上找不到相應(yīng)的binlog ,會(huì)報(bào)此類錯(cuò)誤?;蛘呤怯捎谀承┰O(shè)置主庫上的binlog被刪除了,導(dǎo)致從庫獲取不到對(duì)應(yīng)的binglog file。
如何解決
?1 為了避免數(shù)據(jù)丟失,需要重新搭建slave 。
?2 注意主庫binlog的清理策略,選擇基于時(shí)間過期的刪除方式還是基于空間利用率的刪除方式。
? 不要使用rm -fr 命令刪除binlog file,這樣不會(huì)同步修改mysql_bin.index 記錄的binlog 條目。在刪除binlog的時(shí)候確保主庫保留了從庫 show slave status 的Relay_Master_Log_File對(duì)應(yīng)的binlog file。

5.3 主庫空間問題,日志被截?cái)?/strong>

  1. Got fatal error 1236 from master when reading data from binary log:?'binlog truncated in the middle of event; consider out of disk space on master; the start event position from 'mysql-bin.006730' at 290066434, the last event was read from '/u01/my3309/log/mysql-bin.006730

原因
?該錯(cuò)誤和主庫的空間問題和sync_binlog配置有關(guān),當(dāng)主庫 sync_binlog=N不等于1且磁盤空間滿時(shí),MySQL每寫N次binary log,系統(tǒng)才會(huì)同步到磁盤,但是由于存儲(chǔ)日志的磁盤空間滿而導(dǎo)致MySQL 沒有將日志完全寫入磁盤,binlog event被截?cái)?。slave 讀取該binlog file時(shí)就會(huì)報(bào)錯(cuò)"binlog truncated in the middle of event;"
?當(dāng)sync_binlog 的默認(rèn)值是0,像操作系統(tǒng)刷其他文件的機(jī)制一樣,MySQL不會(huì)同步到磁盤中去而是依賴操作系統(tǒng)來刷新binary log。
?當(dāng)sync_binlog =N (N>0) ,MySQL 在每寫 N次 二進(jìn)制日志binary log時(shí),會(huì)使用fdatasync()函數(shù)將它的寫二進(jìn)制日志binary log同步到磁盤中去。
如何解決
?在從庫重新指向到主庫下一個(gè)可用的binlog file 并且從binlog file初始化的位置開始

mysql> stop slave;
mysql> change master to master_log_file='mysql-bin.006731',?master_log_pos=4;
mysql> start slave;

5.4 主庫異常斷電,從庫讀取錯(cuò)誤的position

  1. 120611 20:39:38?[ERROR]?Error reading packet from server:?Client requested master to start replication from impossible position?(?server_errno=1236)?
  2. 120611 20:39:38?[ERROR]?Slave I/O:?Got fatal error 1236 from master when reading data from binary log:?'Client requested master to start replication from impossible position',?Error_code:?1236
  3. 120611 20:39:38?[Note]?Slave I/O thread exiting,?read up to log?'mysql-bin.000143',?position 664526789

【原因】
?該問題也是和sync_binlog=N不等于1有關(guān),多出現(xiàn)在主機(jī)異常crash ,比如磁盤損壞,raid 卡損壞,或者主機(jī)異常掉電導(dǎo)致binlog 未及時(shí)同步到磁盤。從庫讀取了主庫binlog file中的不存在的binlog position ,一般比binlogfile 的end position 的值還要大。
如何解決
1 在從庫重新指向到主庫下一個(gè)可用的binlog file 并且從binlog file初始化的位置開始

mysql> stop slave;
mysql> change master to master_log_file='mysql-bin.000144',?master_log_pos=4;
mysql> start slave;

2 主備庫設(shè)置 sync_binlog=1,但是設(shè)置為1的時(shí)候,會(huì)帶來性能下降。?文章來源地址http://www.zghlxwxcb.cn/news/detail-512944.html

到了這里,關(guān)于mysql主從同步配置及故障定位的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【mysql】MySQL 主從同步延遲排查

    錯(cuò)誤日志: ○ 尋找與同步問題相關(guān)的錯(cuò)誤消息或警告。 復(fù)制狀態(tài): ○ SHOW SLAVE STATUS 并行復(fù)制設(shè)置: ○ 確保 slave_parallel_workers 的值合適。如果值過高,可能會(huì)導(dǎo)致資源競(jìng)爭(zhēng),而值過低可能會(huì)導(dǎo)致性能下降。 長(zhǎng)事務(wù): ○ 查詢長(zhǎng)時(shí)間運(yùn)行的事務(wù),可能會(huì)影響到復(fù)制的正常進(jìn)行

    2024年02月07日
    瀏覽(24)
  • mysql 主從同步

    mysql 主從同步

    角色 ip master 192.168.233.100 slave1 192.168.233.101 slave2 192.168.233.102 禁用 selinux 跟 firewal l情況下: 新路徑已修改為 /var/lib/mysql/new_bin master 節(jié)點(diǎn)信息 在 master 節(jié)點(diǎn)新建同步賬號(hào) 在 master 與 slave 節(jié)點(diǎn)創(chuàng)建數(shù)據(jù)庫 在 slave1 節(jié)點(diǎn)配置 發(fā)現(xiàn)錯(cuò)誤:Last_IO_Error: Fatal error: The slave I/O thread stops be

    2024年02月07日
    瀏覽(15)
  • mysql 主從同步案例集合

    mysql 主從同步案例集合

    ? relay log 損壞了,導(dǎo)致從庫的 SQL 線程解析 relay log 時(shí)出現(xiàn)異常。從庫恢復(fù)方式是通過手動(dòng)設(shè)置當(dāng)時(shí)出錯(cuò)的 GTID 的下一個(gè)值,讓從庫不從主庫同步這個(gè) GTID,最后從庫就能正常同步這個(gè) GTID 之后的 binlog 了,后續(xù) SQL 線程也能正常解析 relay log 了。 你好,我是悟空。 本文主要內(nèi)

    2023年04月14日
    瀏覽(22)
  • Mysql架構(gòu)篇--Mysql 主從同步方案

    Mysql架構(gòu)篇--Mysql 主從同步方案

    本文對(duì)mysql的傳統(tǒng)主從復(fù)制,半同步復(fù)制和組復(fù)制進(jìn)行介紹。 Master 數(shù)據(jù)庫只要發(fā)生變化,立馬記錄到Binlog 日志文件中,Slave數(shù)據(jù)庫啟動(dòng)一個(gè)I/0 thread連接Master數(shù)據(jù)庫,請(qǐng)求Master變化的二進(jìn)制日志。Save I/0獲取到的二進(jìn)制日志,保存到自己的Relay log 日志文件中。Slave 有一個(gè) SQL

    2024年02月07日
    瀏覽(22)
  • MySQL主從同步(不開GTID)

    MySQL主從同步(不開GTID)

    一、背景 了解并熟悉MySQL的主從同步的搭建過程,并解決搭建過程中所碰到的問題。 二、目標(biāo) 了解并熟悉MySQL的主從同步的搭建過程,并解決搭建過程中所碰到的問題。 IP地址 MySQL版本 主從關(guān)系 192.168.3.244 5.6.51 Master 192.168.3.245 5.7.41 Slaver 192.168.3.246 8.0.33 Slaver 三、過程 1、安

    2024年02月06日
    瀏覽(19)
  • MySQL數(shù)據(jù)庫實(shí)現(xiàn)主從同步

    MySQL數(shù)據(jù)庫實(shí)現(xiàn)主從同步

    安裝MySQL數(shù)據(jù)庫8.0.32 今天來學(xué)習(xí)數(shù)據(jù)庫主從同步的原理及過程,數(shù)據(jù)庫主要是用來存儲(chǔ)WEB數(shù)據(jù),在企業(yè)當(dāng)中是極為重要的,下面一起來看下。 MySQL主從復(fù)制在中小企業(yè),大型企業(yè)中廣泛使用,MySQL主從復(fù)制的目的是實(shí)現(xiàn)數(shù)據(jù)庫冗余備份,將master數(shù)據(jù)庫數(shù)據(jù)定時(shí)同步到slave數(shù)據(jù)庫

    2024年02月02日
    瀏覽(85)
  • 使用本地mysql+linux實(shí)現(xiàn)mysql主從同步

    使用本地mysql+linux實(shí)現(xiàn)mysql主從同步

    1.1修改該linux配置文件 1.2重啟linux的mysql 1.3使用賬戶密碼登錄linux中的mysql,查看是否配置成功 若顯示有FIile和Posttion就表示注linux的主節(jié)點(diǎn)配置成功 注意事項(xiàng): 本地的這個(gè)數(shù)據(jù)庫的權(quán)限必須是管理員權(quán)限,否則會(huì)出現(xiàn)數(shù)據(jù)庫不能進(jìn)行訪問,配置就會(huì)失敗 2.1修改本地mysql中的 my.ini 文

    2024年02月09日
    瀏覽(22)
  • Mysql架構(gòu)篇--Mysql(M-S) 主從同步

    Mysql架構(gòu)篇--Mysql(M-S) 主從同步

    MySQL主從同步(MySQL Replication)是MySQL服務(wù)器的一個(gè)常用特性,它能夠?qū)ySQL服務(wù)器數(shù)據(jù)自動(dòng)同步到其他MySQL服務(wù)器上,從而實(shí)現(xiàn)數(shù)據(jù)備份和負(fù)載均衡的功能。在實(shí)際應(yīng)用中,MySQL主從同步可以用于實(shí)現(xiàn)高可用、災(zāi)備轉(zhuǎn)移、讀寫分離等。 首先需要有大于等于2個(gè)的mysql 實(shí)例,一個(gè)

    2024年02月09日
    瀏覽(18)
  • MySQL 主從復(fù)制[異步 同步 半同步復(fù)制] 讀寫分離 優(yōu)化 (非常重要)

    MySQL 主從復(fù)制[異步 同步 半同步復(fù)制] 讀寫分離 優(yōu)化 (非常重要)

    1、什么是讀寫分離? 讀寫分離,基本的原理是讓主數(shù)據(jù)庫處理事務(wù)性增、改、刪操作(INSERT、UPDATE、DELETE),而從數(shù)據(jù)庫處理SELECT查詢操作。數(shù)據(jù)庫復(fù)制被用來把事務(wù)性操作導(dǎo)致的變更同步到集群中的從數(shù)據(jù)庫。 2、為什么要讀寫分離呢? 因?yàn)閿?shù)據(jù)庫的“寫”(寫10000條數(shù)據(jù)

    2024年02月11日
    瀏覽(21)
  • MySQL 故障診斷:MySQL 占用 CPU 過高問題定位及優(yōu)化

    CPU 占用過高常見現(xiàn)象 在使用 MySQL 的過程中會(huì)遇到各種瓶頸問題,常見的是 IO 瓶頸,但是有時(shí)候會(huì)出現(xiàn)服務(wù)器 CPU 使用率超過 100%,應(yīng)用頁面訪問慢,登錄服務(wù)器負(fù)載很高。而導(dǎo)致這個(gè)問題竟然是 MySQL 進(jìn)程,按理說如果 MySQL 運(yùn)行穩(wěn)定,服務(wù)器的 CPU 資源并不會(huì)跑滿,如果出現(xiàn)

    2024年04月25日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包