前回に続き、MySqlのmax_allowed_packet エラー (Packet too large )
についての失敗例と対応について、報告致します。
以下の様な、事柄で、この談話室をお借りするのは、心苦しいのですが、
勇気を出して、掲載させて頂きます。
先達の皆様には、滑稽な話ですが、初級者には、迷路に入る場合があります。
どうぞ、お許しください。
内容。
1)竹形先生の紹介コードで、画像データーのMySql+Blob挿入は、
OKとなります。
Webで、Uploadする画像サイズは、一般的には、1MB以下で、テスト時も
2−3MBをリサイズしておりましたが、元の画像(2−3Mb)をMySqlに
挿入しますと標記のPacket too large ...のエラーが発生致します。
Webk検索では、MySql の既知の問題として、多く紹介されております
ので、当方の様な、初心者には、参考にして、頂ければ、幸甚です。
2)上記、対応として、Webページ上には以下の様な紹介がされております。
Dosコマンドにて
>mysql --set-variable=max_allowed_packet=8M (16,32)の処理対応
があります。
この通り、入力しましたら、
>ERROR 1045 (28000):
Access denied for user 'ODBC'@'localhost' (using password: NO)
と、エラーが出ます。
こうなって来ると、これに、対応する為、パスワード変更など、
次々に対応が必要となり、まさしく、迷路へと入ることになります。
しかし、こうしたエラーERROR 1045 (28000):に対するWebページ紹介が
多数あり、ユーザーの悩みが見えて来ておりました。
当方だけとは思いますが、ここが、初級者がおちいる箇所であり、
先達の皆様には、失笑の極みとなる所となります。
何度か、試行錯誤し、以下の様に、入力し迷路脱出ができましたので、
失敗例を当談話室のページをお借りし、掲載させて頂きました。
3)上記、Packet too large ...の一対応例
2)で、
>mysql のあとの--set-variable=max_allowed_packet=8M (16,32)
は、起動時option であり、
上記、optionをつけて、通常起動すれば、当方の環境では対応できました。
ご存知のごとく、入力は、以下の通りとなります。
>mysql -uxxxx.. -pyyyy.. abcd..
--set-variable=max_allowed_packet=8M(16M,32M)
xxxx.. ユーザー名、yyyy.. パスワード abcd.. DB名
4)総括
上記、失敗の原因はMySqlコマンドの意味の不理解にあり、
Webページにあるとおり、単純入力した初心者のエラーです。
しかし、
Access denied for user 'ODBC'@'localhost' (using password: NO)
エラーに対するWeb問い合わせの中には、こうしたケースも多いのでは
ないかと思い、この談話室をお借りした次第です。
ーー当方だけでしょうが。
最後に、Web上の画像を2−3Mbの巨大サイズで、運用するのも、
初心者の為せるわざで、すみませんでした。
以上、初心者より。
についての失敗例と対応について、報告致します。
以下の様な、事柄で、この談話室をお借りするのは、心苦しいのですが、
勇気を出して、掲載させて頂きます。
先達の皆様には、滑稽な話ですが、初級者には、迷路に入る場合があります。
どうぞ、お許しください。
内容。
1)竹形先生の紹介コードで、画像データーのMySql+Blob挿入は、
OKとなります。
Webで、Uploadする画像サイズは、一般的には、1MB以下で、テスト時も
2−3MBをリサイズしておりましたが、元の画像(2−3Mb)をMySqlに
挿入しますと標記のPacket too large ...のエラーが発生致します。
Webk検索では、MySql の既知の問題として、多く紹介されております
ので、当方の様な、初心者には、参考にして、頂ければ、幸甚です。
2)上記、対応として、Webページ上には以下の様な紹介がされております。
Dosコマンドにて
>mysql --set-variable=max_allowed_packet=8M (16,32)の処理対応
があります。
この通り、入力しましたら、
>ERROR 1045 (28000):
Access denied for user 'ODBC'@'localhost' (using password: NO)
と、エラーが出ます。
こうなって来ると、これに、対応する為、パスワード変更など、
次々に対応が必要となり、まさしく、迷路へと入ることになります。
しかし、こうしたエラーERROR 1045 (28000):に対するWebページ紹介が
多数あり、ユーザーの悩みが見えて来ておりました。
当方だけとは思いますが、ここが、初級者がおちいる箇所であり、
先達の皆様には、失笑の極みとなる所となります。
何度か、試行錯誤し、以下の様に、入力し迷路脱出ができましたので、
失敗例を当談話室のページをお借りし、掲載させて頂きました。
3)上記、Packet too large ...の一対応例
2)で、
>mysql のあとの--set-variable=max_allowed_packet=8M (16,32)
は、起動時option であり、
上記、optionをつけて、通常起動すれば、当方の環境では対応できました。
ご存知のごとく、入力は、以下の通りとなります。
>mysql -uxxxx.. -pyyyy.. abcd..
--set-variable=max_allowed_packet=8M(16M,32M)
xxxx.. ユーザー名、yyyy.. パスワード abcd.. DB名
4)総括
上記、失敗の原因はMySqlコマンドの意味の不理解にあり、
Webページにあるとおり、単純入力した初心者のエラーです。
しかし、
Access denied for user 'ODBC'@'localhost' (using password: NO)
エラーに対するWeb問い合わせの中には、こうしたケースも多いのでは
ないかと思い、この談話室をお借りした次第です。
ーー当方だけでしょうが。
最後に、Web上の画像を2−3Mbの巨大サイズで、運用するのも、
初心者の為せるわざで、すみませんでした。
以上、初心者より。
投稿:ms_naka[nakaso]/2008年 08月 18日 13時 30分
/更新:2008年 08月 18日 13時 34分
RE:MySQLにバイナリデータを保存するに関連して。続報
by 竹形 誠司[takegata]
竹形です。こんにちは。
なるほど、パケットサイズの制限ですか。これはノーチェックでした。ご報告ありがとうございます。
起動オプションは設定ファイル(Windowsの場合はmy.ini)でも設定できると思います。試してみてください。
なるほど、パケットサイズの制限ですか。これはノーチェックでした。ご報告ありがとうございます。
起動オプションは設定ファイル(Windowsの場合はmy.ini)でも設定できると思います。試してみてください。
投稿:竹形 誠司[takegata]/2008年 08月 18日 15時 48分
/更新:2008年 08月 18日 15時 48分
竹形様
my.iniの件、有難うございました。
my.iniの件、有難うございました。
投稿:ms_naka[nakaso]/2008年 08月 18日 16時 20分
/更新:2008年 08月 18日 16時 20分