程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 從MySQL 5.5遷移到Mariadb 10.1.14所遇到的問題

從MySQL 5.5遷移到Mariadb 10.1.14所遇到的問題

編輯:關於MYSQL數據庫

遷移計劃如下:

  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)

以上所述是小編給大家介紹的從MySQL 5.5遷移到Mariadb 10.1.14所遇到的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved