從MySQL 5.5遷移到Mariadb 10.1.14所遇到的問題
遷移計劃如下:
1.備份MySQL 5.5的數(shù)據(jù)庫,對指定庫進行備份。
2.還原到Mariadb,然后建立復制。
3.然后就可以愿意啥時候切換就啥時候切換。
遇到的問題:
因為一般都是innodb,所以我想用xtrabackup工具備份。備份后發(fā)現(xiàn)還原需要依賴innodb的表空間切換。
1.表空間切換,必須要打開innodb_file_per_table。也就是說所有的表都要有獨立的文件。有一些表雖然是innodb但是存在ibdata下面。
幸好可以申請維護窗口,簡單粗暴的重建了。
2.從MySQL 5.5到Mariadb,在import tablespace的時候發(fā)生錯誤,說表結構比匹配,然后根據(jù)字段發(fā)現(xiàn)都是一些 date,datetime,timestamp類型。
碰到這個問題,還在找有啥解決方法,找了一圈也沒找到,對報錯的表使用了mysqldump,然后導入,其實mysqldump速度不慢。
3.因為xtrabackup備份和mysqldump已經(jīng)有一段時間了,所以肯定會有一些數(shù)據(jù)已經(jīng)存在,所以在創(chuàng)建主從復制的時候肯定會報主鍵錯誤。
直接開slave_skip_errors =1062,提過主鍵沖突。發(fā)現(xiàn)落下的貌似有點多,那么mariadb這個版本已經(jīng)支持了多線程復制。
關于參數(shù)mariadb官網(wǎng)可以看,開起來:
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)
以上所述是小編給大家介紹的從MySQL 5.5遷移到Mariadb 10.1.14所遇到的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
MySQL插入數(shù)據(jù)與查詢數(shù)據(jù)
這篇文章主要介紹了 MySQL插入數(shù)據(jù)與查詢數(shù)據(jù),缺省插入、缺省插入、缺省插入等各種數(shù)據(jù)插入分享,需要的小伙伴可以參考一下,希望對你有所幫助2022-03-03
mysql數(shù)據(jù)庫刪除重復數(shù)據(jù)只保留一條方法實例
這篇文章主要給大家介紹了關于mysql數(shù)據(jù)庫刪除重復數(shù)據(jù),只保留一條的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
MySQL中DML添加數(shù)據(jù)insert的操作方法
DML英文全稱Data Manipulation Language數(shù)據(jù)操作語言,用來對數(shù)據(jù)庫中表的數(shù)據(jù)記錄進行增、刪、改在實際開發(fā)過程中使用比較多,務必掌握操作,這篇文章主要介紹了MySQL中DML添加數(shù)據(jù)insert的操作方法,需要的朋友可以參考下2023-07-07
mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹
在MySQL中ROW_NUMBER()是一種用來生成行號的功能函數(shù),通常情況下它用于對查詢結果進行編號,以便方便地查看每行的位置,下面這篇文章主要給大家介紹了關于mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹的相關資料,需要的朋友可以參考下2024-02-02

