程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Percona 5.5.30轉投MariaDB 5.5.30小記

Percona 5.5.30轉投MariaDB 5.5.30小記

編輯:MySQL綜合教程

Mariadb 5.5.30 用  percona 5.5.30 的mysql系統庫啟動時會報錯

  1. [ERROR] Incorrect definition of table mysql.event: expected column ‘sql_mode’ at position 14 to have type set …… 
  2. [ERROR] mysqld: Table ‘./mysql/tables_priv’ is marked as crashed and should be repaired 
  3. [Warning] Checking table: ‘./mysql/tables_priv’ 
  4. [ERROR] mysql.tables_priv: 1 client is using or hasn’t closed the table properly 
  5. mysql.proc ….. 

Mariadb和percona的mysql.event此表結構有點不同

diff -u  Mariadb.event.txt  percona.event.txt

— event.txt   2013-05-04 10:35:25.939778373 -0400

+++ event2.txt  2013-05-04 10:36:12.221966298 -0400

@@ -12,7 +12,7 @@

`ends` datetime DEFAULT NULL,

`status` enum(‘ENABLED’,'DISABLED’,'SLAVESIDE_DISABLED’) NOT NULL DEFAULT ‘ENABLED’,

`on_completion` enum(‘DROP’,'PRESERVE’) NOT NULL DEFAULT ‘DROP’,

  1. -  `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') 
  2. NOT NULL DEFAULT '', 
  3.   
  4. +  `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
  5.  NOT NULL DEFAULT '', 

`comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ”,

`originator` int(10) unsigned NOT NULL,

`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT ‘SYSTEM’,

導致event無法使用, 在咨詢P.linux兄後,解決辦法如下

裝一個純淨的mariadb,

然後從percona導出mysql庫

mysqldump  -B mysql  –opt  –triggers=true  –events  -u root -p > mmmmmysql.sql

注釋掉mysql.event, mysql.proc 表的建表語句(留下insert),然後手工導mmmmmysql.sql 進Mariadb 5.5.30

再啟動Mariadb就沒報錯了 ,能正常運行!

編輯推薦】

  1. MariaDB 5.3將支持ALTER TABLE的進度提示
  2. MySQL創始人打造MariaDB 全面兼容MySQL 5.1
  3. MariaDB 2周年了
  4. 教你五步優化你的MongoDB
  5. MariaDB 5.3.4性能測試

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