【发布时间】:2013-09-18 17:21:05
【问题描述】:
我整天都在为此苦苦挣扎,但无法找到解决方案,甚至找不到错误的根本原因。当我在本地运行我的应用程序时,它工作正常。我的生产实例使用 Heroku cedar 堆栈和 Amazon RDS MySQL 数据库。
在我的设置文件中,我有:'OPTIONS': {'charset': 'utf8mb4'}
当我推送到 Heroku 时,它会因错误而崩溃:_mysql_exceptions.OperationalError: (2019, "Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/)")
异常位置:/app/.heroku/python/lib/python2.7/site-packages/MySQLdb/connections.py in set_character_set, line 298
我已使用 Amazon RDS MySQL 创建了适当的数据库参数,当前设置如下:
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-5.6.13.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
我正在跑步:
MySQL 5.6.13
MySQL-python==1.2.4
提前感谢您的帮助。如果我遗漏了更多细节,请告诉我。
【问题讨论】:
-
更新:如果我运行 SHOW GLOBAL VARIABLES LIKE '%character%';它显示了所有正确的 utf8mb4 值,但这些变量并未应用于实际的数据库实例。
标签: mysql django heroku django-celery amazon-rds