Mysql

使用 MySQL 5.6 客戶端工具將 MySQL 5.6 數據庫導入 5.5

  • February 26, 2016

我的本地開發環境目前使用 MySQL Server 5.5。但是,我的一位客戶主機決定將他們的伺服器升級到 5.6。我通過 ssh 使用 mysqldump 遠端同步我的客戶端數據庫。我有其他客戶端使用 MySQL 伺服器 5.5。

我正在同步的數據庫不使用任何特定的 5.6 功能(所有 WordPress 都與 5.5 完全兼容)。為了在 5.5 和 5.6 上使用我的兩個客戶端組,是否可以將我的本地開發環境升級到 MySQL 5.6,然後使用 5.6 客戶端工具同步 5.5 數據庫?

僅供參考:無法使用我的 5.5 客戶端工具同步 5.6 數據庫,因為我在嘗試這樣做時收到以下錯誤:

mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064) (Wordmove::ShellCommandError)

一些附加資訊以供澄清。我知道 5.6 中引入了一些與 5.5 不兼容的表方案功能。但是,這些特性是在升級時自動應用於 5.5 表,還是將 5.5 數據庫導入到 5.6 數據庫中,基本上仍然與 5.5 完全兼容,直到 5.6 的新特性被積極使用它。

這是由於 MySQL Server 5.6 中的更改導致的錯誤:SET OPTION在 MySQL 5.5 上的 mysqldump 中使用的不支持關鍵字。

您可以查看此票以獲取更多資訊:https ://bugs.mysql.com/bug.php?id=67507

要解決此問題,我認為您可以執行以下解決方案之一:

  1. 升級 mysqlclient (mysqldump) 到 5.6
  2. 手動方式:在客戶端編輯文件mysqldump(使用Mysql 5.5)

cp /usr/bin/mysqldump /root/mysqldump

vim -b /root/mysqldump

尋找 SET OPTION(使用 ‘/’ 命令)

註釋(或刪除)此命令/行

保存文件

改用 /root/mysqdump

希望這對你有用

引用自:https://serverfault.com/questions/759916