最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL復制出錯 Last_SQL_Errno:1146的解決方法

 更新時間:2016年07月16日 15:23:41   投稿:mdxy-dxy  
這篇文章主要介紹了MySQL復制出錯 Last_SQL_Errno:1146的解決方法,需要的朋友可以參考下

背景:我們在做數(shù)據(jù)遷移或者拆分的時候,使用Tablespace transcation 這種解決方案時,很有可能就會遇到 從庫復制出錯,報: Last_SQL_Errno: 1146

那么具體錯誤內(nèi)容可能會有如下:

Last_SQL_Error: Error 'Table 'spider.tb_city_population_rank' doesn't exist' on query. Default database: 'spider'. Query: 'alter table tb_city_population_rank discard tablespace'
Last_SQL_Error: Error 'Table 'spider.tb_city_population_rank' doesn't exist' on query. Default database: 'spider'. Query: 'alter table tb_city_population_rank import tablespace'

那么我們遇到這樣的問題的時候該如何恰當?shù)奶幚砟??考慮如下幾點:

1. 我們整個庫的容量有多大?
2. 業(yè)務(wù)容忍的最大延遲時間多久?
3. 我們恢復需要多久?恢復的難易程度如何?

通過考慮到以上幾點, 我們就可以根據(jù)實際情況做出抉擇,采用什么樣的辦法盡快的恢復從庫;對于這樣的問題,簡單粗暴的方案就是重建從庫,當然還有別的辦法, 且聽我慢慢道來:

首先我們先看看我們是如何通過Transport tablespace 遷移數(shù)據(jù)的,大概步驟如下:

1.庫A執(zhí)行: show create table xxx1; 拿到簡表語句;
2.庫B執(zhí)行: create table xxx1; 在從庫上建立基本的表結(jié)構(gòu);
3.庫B執(zhí)行: alter table xxx1 discard tablespace; 讓mysql自己刪掉ibd文件;
4.庫A執(zhí)行: flush tables xxxx1,xxxx2 for export;把內(nèi)存的臟數(shù)據(jù)刷到磁盤,使得ibd文件數(shù)據(jù)一致;
5.庫A執(zhí)行: scp xxxx1.ibd xxx2.ibd xxxx1.cfg xxx2.cfg slave_host:/data/ 把ibd文件拷貝到從庫;
6.庫B執(zhí)行: alter table xxx1 import tablespace 導入數(shù)據(jù)文件。

好了我們知道了整個遷移的具體步驟,那么我們就可以輕松的應(yīng)對在遷移過程中復制出錯的問題了。

那么我們首先來看一下:

Last_SQL_Errno: 1146
Last_SQL_Error: Error 'Table 'spider.tb_city_population_rank' doesn't exist' on query. Default database: 'spider'. Query: 'alter table tb_city_population_rank discard tablespace'

其大概的意思就是我們在從庫上沒有找到 這個表的完整定義信息,觀察一下磁盤上的文件我們就明白了:

[root@GZ_NF_DB_RP_002 spider]# ls -lhrt |grep tb_city_population_rank
-rw-r----- 1 mysql mysql 8.3G Mar 31 20:03 tb_city_population_rank.ibd

果然沒有 這個表的 frm 文件, 那么怎么辦呢?由于是 slave 的sql_thread 線程報錯, 那么我們可采取取巧的辦法:

用超級用戶登錄從庫,先備份一下 這個ibd 文件:[root@GZ_NF_DB_RP_002 spider]# mv tb_city_population_rank.ibd tb_city_population_rank.ibd.bak

然后拿到這個文件的表結(jié)構(gòu), 在從庫上執(zhí)行建表語句,這樣一樣來, 我們從庫就有了 ibd frm 文件, 那么 此時我們開啟slave sql_thread,這時就會執(zhí)行時主庫傳過來的 語句:

alter table tb_city_population_rank discard tablespace ; 那么當我們再一次的觀看此盤數(shù)據(jù)文件的時候,ibd 文件又不見了,此時slave 也就已經(jīng)出錯了,其錯誤信息如下:

Last_SQL_Errno: 1146
Last_SQL_Error: Error 'Table 'spider.tb_city_population_rank' doesn't exist' on query. Default database: 'spider'. Query: 'alter table tb_city_population_rank import tablespace'

那么我們此時需要做的就是: 把剛才mv 的文件 再 mv 回去, 也就是說:[root@GZ_NF_DB_RP_002 spider]# mv tb_city_population_rank.ibd.bak tb_city_population_rank.ibd ; 完成這個命令后我們再執(zhí)行 start slave sql_thread ; 此時這個表就正常了, 我們可以執(zhí)行select * from tb_city_population_rank limit 100; 來驗證一下是否可讀。

那么此時,我們算完整的解決了因一個表導致的復制出錯的問題, 那么如果遷移了多張表(經(jīng)常是) , 那么我們就可以按照這個解決方案,一步一步的來解決復制出錯。其大概的思路就是, 缺什么我們補什么,多了什么我們?nèi)サ羰裁础?/p>

下面是其它網(wǎng)友的補充,根據(jù)返回的錯誤信息進行調(diào)整即可。

mysql 主主復制(雙主復制)報錯Last_SQL_Errno: 1146

錯誤信息:

復制代碼 代碼如下:

Last_Errno: 1146
                  Last_Error: Error 'Table 'test.user' doesn't exist' on query. Default database: 'test'. Query: 'insert into user values(20,'在庫')'

解決方法:

mysql> set global sql_slave_skip_counter=20;
mysql> STOP SLAVE;
mysql> START SLAVE;

問題解決

相關(guān)文章

  • MySQL創(chuàng)建用戶和權(quán)限管理的方法

    MySQL創(chuàng)建用戶和權(quán)限管理的方法

    這篇文章主要介紹了MySQL創(chuàng)建用戶和權(quán)限管理的方法,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • MySQL的聯(lián)表查詢實現(xiàn)

    MySQL的聯(lián)表查詢實現(xiàn)

    數(shù)據(jù)通常分布在多個表中,為了獲取全面的信息,需要進行聯(lián)表查詢,本文主要介紹了MySQL的聯(lián)表查詢實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • Navicat遠程連接SQL Server并轉(zhuǎn)換成MySQL步驟詳解

    Navicat遠程連接SQL Server并轉(zhuǎn)換成MySQL步驟詳解

    最近遇到一個需求是將SQL Server轉(zhuǎn)換為 MySQL的格式,由于不想在本地安裝 SQL Server,所以決定在遠程的 Windows 服務(wù)器上安裝,并在本地使用Navicat遠程連接它,然而在實現(xiàn)過程中遇到了諸多問題,記錄于此。感興趣的朋友們下面來一起學習學習吧。
    2017-01-01
  • MySQL之使用WITH子句和臨時表達式進行數(shù)據(jù)分析和篩選方式

    MySQL之使用WITH子句和臨時表達式進行數(shù)據(jù)分析和篩選方式

    這篇文章主要介紹了MySQL之使用WITH子句和臨時表達式進行數(shù)據(jù)分析和篩選方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 聊聊MySQL中的參數(shù)

    聊聊MySQL中的參數(shù)

    這篇文章主要介紹了MySQL中的參數(shù)是什么,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • Linux下安裝與使用MySQL詳細介紹

    Linux下安裝與使用MySQL詳細介紹

    以下是對在Linux下安裝與使用MySQL進行了詳細的介紹,需要的朋友可以過來參考下
    2013-08-08
  • MySQL8.0.30(zip版)windows安裝過程

    MySQL8.0.30(zip版)windows安裝過程

    這篇文章主要介紹了MySQL8.0.30(zip版)windows安裝,進入到mysql下載頁面后選擇zip版本點擊下載,下載完以后把它解壓到自己想存放的位置,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • MySQL基于SSL協(xié)議進行主從復制的詳細操作教程

    MySQL基于SSL協(xié)議進行主從復制的詳細操作教程

    這篇文章主要介紹了MySQL基于SSL協(xié)議進行主從復制的詳細操作教程,示例環(huán)境基于Linux系統(tǒng)以及OpenSSL客戶端,需要的朋友可以參考下
    2015-12-12
  • MySQL圖形化管理工具的使用及說明

    MySQL圖形化管理工具的使用及說明

    這篇文章主要介紹了MySQL圖形化管理工具的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • VS2013連接MySQL5.6成功案例一枚

    VS2013連接MySQL5.6成功案例一枚

    這篇文章主要為大家分享了VS2013連接MySQL5.6成功案例一枚,很有實用性,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評論

民乐县| 芷江| 施甸县| 喀喇沁旗| 吉水县| 洪湖市| 天津市| 阳谷县| 宾川县| 石楼县| 陵水| 霍林郭勒市| 林甸县| 宣城市| 乐清市| 洪洞县| 山西省| 洛浦县| 栾城县| 疏附县| 文化| 平定县| 广南县| 泰宁县| 台北市| 天水市| 来宾市| 南充市| 丰县| 甘泉县| 清镇市| 吴桥县| 玉龙| 大英县| 巨野县| 芜湖县| 包头市| 茶陵县| 南郑县| 大兴区| 雅江县|