Mysql
導入 MySQL 數據庫後出現錯誤 1231 會是兼容性問題嗎?
錯誤 1231 (42000):變數 ‘character_set_client’ 不能設置為 ‘NULL’ 查詢正常,0 行受影響(0.00 秒)
錯誤 1231 (42000):變數 ‘collation_connection’ 不能設置為 ‘NULL’ 的值
以上是我從 Bluehost 導入新轉儲的數據庫後遇到的錯誤(通過 phpmyadmin 完成,包括快速導出方法和自定義導出方法)。
資訊 Bluehost 版本:
MySQL 5.5.42
PHP 5.4.24
Apache 2.2.31
phpMyAdmin 3.5.8.2
本地設置(無 MAMP、XAMP、WAMP 或 LAMP)版本:
MySQL 5.5.25(通過命令行找到:mysql which version)
PHP 5.5.27
Apache 2.4.16
phpMyAdmin 4.5.1
會不會和版本不兼容有關?還是您認為這個問題的根源在其他地方?此外,一旦登錄到 MySQL,我就無法使用 mysqldump,但如果我沒有登錄,我可以執行這種類型的命令:
mysqldump -u [USERNAME] -p [DBNAME] | gzip > [/path_to_file/DBNAME].sql.gz
這正常嗎?
無論如何,我相信您可以看到我在這裡的新手,所以請多多包涵。
它與 MySQL 伺服器上的 max_allowed_packet 有關。它被設置為 16M,當我在位於 /private/etc/(在 Mac El Capitan 上)的 my.cnf 中將它提高到 64M 時,它是 my-huge.cnf 的副本。停止 MySQL 伺服器和 Apache 並重新啟動它們後,我的站點再次在本地工作,並且錯誤消息消失了。
在轉儲文件的開頭設置變數的值,
character_set_client
如下collation_connection
所示。如果不存在添加新的/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHAR */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLL */;