91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Slave_SQL_Running: No mysql同步故障問題

發布時間:2021-11-05 18:30:25 來源:億速云 閱讀:451 作者:柒染 欄目:建站服務器

如何解決Slave_SQL_Running: No mysql同步故障問題,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

主從服務器模式,從服務器重啟后發現備份停止,手動啟動mysql>start slave;出現下面的錯誤:

ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log

處理方法:

1.處理 vim /etc/my.cnf

加上relay-log=xxx #(relay-log=fb-relay) 即可

2.刪除從服務器上的master.info 和relay-log.info 文件,重啟mysql服務

備注:

relay-log日志記錄的是從服務器I/O線程將主服務器的二進制日志讀取過來記錄到從服務器本地文件,然后SQL線程會讀取relay-log日志的內容并應用到從服務器

mysql slave不能同步Last_SQL_Error: Error ‘Duplicate entry ‘

發表于54 天前 ? 數據庫應用 ? 暫無評論? 被圍觀 394 次+

昨天一臺mysql slave 重啟后,出現了 Last_SQL_Error: Error 'Duplicate entry ' 錯誤,不能同步更新

mysql> show slave status\G;
*************************** 1. row ***************************
  Slave_IO_State: Waiting for master to send event
 Master_Host: 192.168.10.100
 Master_User: slave_user
 Master_Port: 3306
 Connect_Retry: 60
 Master_Log_File: mysql-bin.000773
 Read_Master_Log_Pos: 63325
 Relay_Log_File: server122-relay-bin.000002
 Relay_Log_Pos: 165661
 Relay_Master_Log_File: mysql-bin.000771
 Slave_IO_Running: Yes
 Slave_SQL_Running: No
 Replicate_Do_DB:
 Replicate_Ignore_DB:
 Replicate_Do_Table:
 Replicate_Ignore_Table:
 Replicate_Wild_Do_Table:
 Replicate_Wild_Ignore_Table:
  Last_Errno: 1062
  Last_Error: Error 'Duplicate entry '1438019' for key 'PRIMARY'' on query. Default database: 'otrs'. Query: 'INSERT INTO ticket (tn, title, create_time_unix, queue_id, ticket_lock_id,  user_id, group_id, ticket_priority_id, ticket_state_id, ticket_answered,  escalation_start_time, timeout, valid_id, create_time, create_by, change_time, change_by)  VALUES ('2012061310001851', 'Your order  ORD201205A000016 was bounced back', 1339585744, 44, 1, 43,  1, 3, 4,  0, 1339585744, 0, 1,  current_timestamp, 43, current_timestamp, 43)'
Skip_Counter: 0
Exec_Master_Log_Pos: 41969067
Relay_Log_Space: 625695
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: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1062
Last_SQL_Error: Error 'Duplicate entry '1438019' for key 'PRIMARY'' on query. Default database: 'otrs'. Query: 'INSERT INTO ticket (tn, title, create_time_unix, queue_id, ticket_lock_id,  user_id, group_id, ticket_priority_id, ticket_state_id, ticket_answered,  escalation_start_time, timeout, valid_id, create_time, create_by, change_time, change_by)  VALUES ('2012061310001851', 'Your order  ORD201205A000016 was bounced back', 1339585744, 44, 1, 43,  1, 3, 4,  0, 1339585744, 0, 1,  current_timestamp, 43, current_timestamp, 43)'
1 row in set (0.00 sec)

ERROR:
No query specified

上網查詢資料,解決的辦法是:

mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;

上面那種方法我沒試過,不過我用的是下面這種方法:

修改mysql配置文件 /etc/my.cnf 在 [mysqld]下加一行 slave_skip_errors = 1062 ,保存.重啟mysql. mysql slave可以正常同步了.

Slave_SQL_Running: No mysql同步故障解決

今天檢查數據庫發現一臺MySQL Slave未和主機同步,查看Slave狀態:
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Errno: 1062
....
Seconds_Behind_Master:NULL
原因:
1.程序可能在slave上進行了寫操作
2.也可能是slave機器重起后,事務回滾造成的.

解決辦法I:
1.首先停掉Slave服務:slave stop

2.到主服務器上查看主機狀態:
記錄File和Position對應的值。
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000020 | 135617781 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)

3.到slave服務器上執行手動同步:
mysql> change master to
> master_host='master_ip',
> master_user='user',
> master_password='pwd',
> master_port=3307,
> master_log_file='mysql-bin.000020',
> master_log_pos=135617781;
1 row in set (0.00 sec)
mysql> slave start;
1 row in set (0.00 sec)
再次查看slave狀態發現:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
Seconds_Behind_Master: 0

解決辦法II:
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;

自己的使用體會:方法一是強制性從某一個點開始同步,會有部分沒有同步的數據丟失,后續主服務器上刪除記錄同步也會有一些錯誤信息,不會影響使用.方法二不一定會有效果.

=======================================================================================]

1,主從不能同步:

show slave status;報錯:Error xxx dosn't exist
且show slave status\G:
Slave_SQL_Running: NO
Seconds_Behind_Master: NULL

解決方法:
stop slave;
set global sql_slave_skip_counter =1 ;
start slave;

之后Slave會和Master去同步 主要看:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master是否為0,0就是已經同步了

2,還需要做的一些優化與監視:
show full processlist; //查看mysql當前同步線程號
skip-name-resolve       //跳過dns名稱查詢,有助于加快連接及同步的速度
max_connections=1000    //增大Mysql的連接數目,(默認100)
max_connect_errors=100 //增大Mysql的錯誤連接數目,(默認10)


查看日志一些命令
1,  show master status\G;
          在這里主要是看log-bin的文件是否相同。
   show slave status\G;
   在這里主要是看:
                  Slave_IO_Running=Yes
                  Slave_SQL_Running=Yes
  如果都是Yes,則說明配置成功.

2,在master上輸入show processlist\G;
    mysql> SHOW PROCESSLIST\G
    *************************** 1. row ***************************
      Id: 2
      User: root
      Host: localhost:32931
      db: NULL
      Command: Binlog Dump
      Time: 94
      State: Has sent all binlog to slave; waiting for binlog to
        be updated
      Info: NULL

如果出現Command: Binlog Dump,則說明配置成功.

stop slave    #停止同步
start slave    #開始同步,從日志終止的位置開始更新。
SET SQL_LOG_BIN=0|1  #主機端運行,需要super權限,用來開停日志,隨意開停,會造成主機從機數據不一致,造成錯誤
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n  # 客戶端運行,用來跳過幾個事件,只有當同步進程出現錯誤而停止的時候才可以執行。
RESET MASTER  #主機端運行,清除所有的日志,這條命令就是原來的FLUSH MASTER
RESET SLAVE   #從機運行,清除日志同步位置標志,并重新生成master.info
雖然重新生成了master.info,但是并不起用,最好,將從機的mysql進程重啟一下,
LOAD TABLE tblname FROM MASTER #從機運行,從主機端重讀指定的表的數據,每次只能讀取一個,受timeout時間限制,需要調整timeout時間。執行這個命令需要同步賬號有 reload和super權限。以及對相應的庫有select權限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值
LOAD DATA FROM MASTER  #從機執行,從主機端重新讀入所有的數據。執行這個命令需要同步賬號有reload和super權限。以及對相應的庫有select權限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值
CHANGE MASTER TO master_def_list  #在線改變一些主機設置,多個用逗號間隔,比如
CHANGE MASTER TO
 MASTER_HOST='master2.mycompany.com',
 MASTER_USER='replication',
 MASTER_PASSWORD='bigs3cret'
MASTER_POS_WAIT() #從機運行
SHOW MASTER STATUS #主機運行,看日志導出信息
SHOW SLAVE HOSTS #主機運行,看連入的從機的情況。
SHOW SLAVE STATUS (slave)
SHOW MASTER LOGS (master)
SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]
PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'

看完上述內容,你們掌握如何解決Slave_SQL_Running: No mysql同步故障問題的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林西县| 浠水县| 将乐县| 宾川县| 曲沃县| 盐山县| 新和县| 德昌县| 慈溪市| 井研县| 尚义县| 淮滨县| 吉木乃县| 虎林市| 德昌县| 金沙县| 丹东市| 武平县| 崇阳县| 正安县| 马尔康县| 东乡族自治县| 扎鲁特旗| 长沙县| 敖汉旗| 东光县| 双柏县| 望谟县| 余姚市| 乌恰县| 永福县| 肇东市| 怀仁县| 临夏县| 西峡县| 淮安市| 柞水县| 桐柏县| 商洛市| 讷河市| 诸城市|