5

私は一日中これに苦労しており、解決策やエラーの根本原因さえも見つけることができませんでした. アプリをローカルで実行すると、正常に動作します。私の本番インスタンスは、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

よろしくお願いします。私が見逃している詳細がある場合はお知らせください。

4

3 に答える 3

5

問題は Heroku にあり、必要なライブラリがサポートされていないことが判明しました。

Heroku のサポート担当者から次のように言われました。

このエンコーディングには、MySQL の libmysqlclient C 共有ライブラリの最新バージョンが必要です。申し訳ありませんが、当面の間、このライブラリをアップグレードする予定はありません。https://devcenter.heroku.com/articles/buildpack-binariesの指示に従って、独自のバージョンのバイナリ依存関係を構築できます 。

于 2013-09-27T22:17:20.827 に答える
1

将来の読者のために: 2014 年後半の時点でのこの特定の問題に対する解決策は、最新の mysql バイナリ (私がテスト済み) を含む cedar-14 スタックを使用することです。一般的な解決策は、heroku の人々のアドバイスに従って、独自のバイナリをコンパイルし、カスタム ビルドパックを作成することです。

于 2015-01-21T08:46:18.350 に答える