DB系

java.sql.SQLException: Invalid authorization
2014-04-13

【環境】
mysql
Tomcat
Java

【事象】
javaからMysqlアクセス時、下記のエラーがでました
 java.sql.SQLException: Invalid authorization specification message from server: "Access denied for user 'root'@'localhost' (using password: YES)"

【原因】
root'@'localhostに権限がない。

【対応】
GRANT ALL PRIVILEGES ON DB名.* TO root@localhost IDENTIFIED BY 'rootパスワード';

#2006 - MySQL server has gone away export
2014-06-29

【事象】
phpmyadminで MySqlに2.5MBのcsvファイルをインポートする時、次のエラーが出ました。
#2006 - MySQL server has gone away export
csvファイル自体は問題がありません。

【原因】
ディフォルトのMySQLサーバ側が受信を許可するPacketの最大サイズは1MBとなっているため、
実はMySQLの仕様上16MBまでOKですが。

my.iniを確認

[mysqld]
port= 3306
。。。
max_allowed_packet = 1M
。。。

【対応方法】
max_allowed_packetの値を16M以下にします。

修正後
max_allowed_packet = 10M

私の場合、xamppを使用しているため、xamppを再起動したら、exportがうまくできました。

#1064 SQL パーサにバグが見つかることもありえますが。。。
2014-06-30

 【経緯】
次のSQL文をphpmyadminで実行したら、不思議なエラーが発生しました。
SELECT distinct sub FROM `os_kanpou_h` WHERE category='〔官庁報告〕'

エラー
SQL パーサにバグが見つかることもありえますが、まずはクエリをよく見て引用符の数や種類に間違いがないか確認してください。クォートされていないテキスト領域にバイナリファイルをアップロードしたからクエリが失敗したということもありえます。MySQL のコマンドラインインタフェースを利用してクエリを実行してみてもよいでしょう。下に MySQL サーバのエラー出力が出ているようなら問題の解析に役立つかもしれません。それでも解決しないか、コマンドラインでは成功するのにパーサでは失敗する場合は、SQL クエリの入力データを実際に問題を起こしているクエリひとつに絞り込んでから、以下の「CUT」セクションにデータを添えてバグ報告を送ってください:
----BEGIN CUT----
eNodzTFrwkAYxvH9PsW7uYSjF01KDzqE8NYIySXexWbU1JaaComYOLjp6iZUcLxPUHDteF8l5Hs0
dn348X9Qylhy8Bn4NoQoOLjwCK5NVNrPRhMS7dU05OBQlzKXzJSEWFngjVGkFrxir7KiBD+QcYQw
dOgDZU+st86QJJHHYUQZZTZJguSurVjdWw5lDLKJECkJPTHm8JWT/xuFIfqp0e9F3RTlsjG63r0Z
/dLXjV5U9Xydl5tqN18tjM4ClGj0Mm8+Pqvt/nnQHr67n2v3e+z0rTuf2sNl8Ac86klZ
----END CUT----
----BEGIN RAW----
ERROR: C1 C2 LEN: 6 7 62
STR:  

MySQL: 5.6.16
USR OS, AGENT, VER: Win CHROME 35.0.1916.153
PMA: 4.1.12
PHP VER,OS: 5.5.11 WINNT
LANG: ja
SQL: SELECT distinct sub FROM `os_kanpou_h` WHERE category='〔官庁報告〕'
----END RAW----

SQL query: ドキュメント

SELECT distinct sub FROM `os_kanpou_h` WHERE category='〔官庁報告〕'

MySQL のメッセージ: ドキュメント

#1064 - 

【原因】
SQL文に問題ありした。
OK例:
SELECT distinct(sub) FROM `os_kanpou_h` WHERE category='〔官庁報告〕'

NG例:
SELECT distinct sub FROM `os_kanpou_h` WHERE category='〔官庁報告〕'

しかし
次のSQL文がうまく実行できましたが。。。どうして?
SELECT distinct sub FROM `os_kanpou_h` WHERE category='〔公  告〕'