從MySQL 5.5遷移到Mariadb 10.1.14

来源:http://www.cnblogs.com/Amaranthus/archive/2016/08/17/5779993.html
-Advertisement-
Play Games

從MySQL 5.5遷移到Mariadb 10.1.14 遷移計劃如下: 1.備份MySQL 5.5的資料庫,對指定庫進行備份。 2.還原到Mariadb,然後建立複製。 3.然後就可以願意啥時候切換就啥時候切換。 遇到的問題: 因為一般都是innodb,所以我想用xtrabackup工具備份。備份 ...


從MySQL 5.5遷移到Mariadb 10.1.14


 遷移計劃如下:

  1.備份MySQL 5.5的資料庫,對指定庫進行備份。

  2.還原到Mariadb,然後建立複製。

  3.然後就可以願意啥時候切換就啥時候切換。

遇到的問題:

  因為一般都是innodb,所以我想用xtrabackup工具備份。備份後發現還原需要依賴innodb的表空間切換。

  1.表空間切換,必須要打開innodb_file_per_table。也就是說所有的表都要有獨立的文件。有一些表雖然是innodb但是存在ibdata下麵。

  幸好可以申請維護視窗,簡單粗暴的重建了。

  2.從MySQL 5.5到Mariadb,在import tablespace的時候發生錯誤,說表結構比匹配,然後根據欄位發現都是一些 date,datetime,timestamp類型。

  碰到這個問題,還在找有啥解決方法,找了一圈也沒找到,對報錯的表使用了mysqldump,然後導入,其實mysqldump速度不慢。

  3.因為xtrabackup備份和mysqldump已經有一段時間了,所以肯定會有一些數據已經存在,所以在創建主從複製的時候肯定會報主鍵錯誤。

  直接開slave_skip_errors =1062,提過主鍵衝突。發現落下的貌似有點多,那麼mariadb這個版本已經支持了多線程複製。

  關於參數mariadb官網可以看,開起來:

  slave_parallel_mode=optimistic

  slave_parallel_threads=6

 set global innodb_flush_log_at_trx_commit=0;  --追不上把這個也開了

MariaDB [(none)]> show processlist;
+----+-------------+-----------+------+---------+------+----------------------------------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+-------------+-----------+------+---------+------+----------------------------------+------------------+----------+
| 5 | root | localhost | NULL | Query | 0 | init | show processlist | 0.000 |
| 23 | system user | | NULL | Connect | 1197 | Waiting for master to send event | NULL | 0.000 |
| 24 | system user | | NULL | Connect | 1197 | Waiting for work from SQL thread | NULL | 0.000 |
| 25 | system user | | NULL | Connect | 1197 | Waiting for work from SQL thread | NULL | 0.000 |
| 26 | system user | | NULL | Connect | 1197 | Waiting for work from SQL thread | NULL | 0.000 |
| 27 | system user | | NULL | Connect | 1197 | Waiting for work from SQL thread | NULL | 0.000 |
| 28 | system user | | NULL | Connect | 1197 | Waiting for work from SQL thread | NULL | 0.000 |
| 29 | system user | | NULL | Connect | 1197 | Waiting for work from SQL thread | NULL | 0.000 |
| 30 | system user | | NULL | Connect | 0 | apply log event | NULL | 0.000 |
+----+-------------+-----------+------+---------+------+----------------------------------+------------------+----------+
9 rows in set (0.00 sec)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1:帶中文的URL處理 2:取WebView高度 3:UIView的部分圓角問題 4:強制App直接退出 5:修改占位符顏色和大小 6:取消系統的返回手勢 7:改WebView字體/顏色 UIWebView設置字體大小,顏色,字體: UIWebView無法通過自身的屬性設置字體的一些屬性,只能通過h ...
  • 純 HTML5 APP與原生APP的差距在哪? 寫過一些純H5的APP,雖然開發起來的確很快很舒服,但和原生比起來純H5APP還是有很多問題,主要聚集在以下幾個方面: 1、動畫 動畫有很多種,比如側邊欄菜單的滑入滑出、元素的響應動畫、頁面切換之間的過場等等,在H5之下的眾多實現方法都沒有辦法達到純原 ...
  • 最近簡單的對oracle,mysql,sqlserver2005的數據分頁查詢作了研究,把各自的查詢的語句貼出來供大家學習..... (一)、 mysql的分頁查詢 mysql的分頁查詢是最簡單的,藉助關鍵字limit即可實現查詢,查詢語句通式: 如下麵的截圖,每頁顯示的記錄數為20: 查詢(1-2 ...
  • MySQL外鍵使用及說明 一、外鍵約束 MySQL通過外鍵約束來保證表與表之間的數據的完整性和準確性。 外鍵的使用條件: 1.兩個表必須是InnoDB表,MyISAM表暫時不支持外鍵(據說以後的版本有可能支持,但至少目前不支持); 2.外鍵列必須建立了索引,MySQL 4.1.2以後的版本在建立外鍵 ...
  • MongoDB只提供了64位LTS(長期支持)Ubuntu發行版的packages。例如,12.04 LTS,14.04 LTS,16.04 LTS等等。 1.導入被包管理系統使用的公鑰 Ubuntu軟體包管理工具(例如:dpkg和apt)通過要求經銷商使用GPG密鑰簽署包以確保方案的一致性和真實性 ...
  • 1.建立Java工程 使用idea,添加lib庫,拷貝storm中lib到工程中 2.拷貝wordcount代碼 下載src包,解壓找到 apache-storm-0.9.4-src\apache-storm-0.9.4\examples\storm-starter\src\jvm\storm\st ...
  • 有兩張表A和B,要求往A裡面插入一條記錄的同時要向B裡面也插入一條記錄,向B裡面插入一條記錄的同時也向A插入一條記錄。兩張表的結構不同,需要將其中幾個欄位對應起來。可以用下麵的觸發器實現。 表A的觸發器: 表B的觸發器: ...
  • 查看MySQL二進位文件中的內容有兩種方式 1. mysqlbinlog 2. SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count] 下麵來測試一下,在mysql中執行如下操作 對應二進位日誌中的內容如下 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...