私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMySQL 総合 Part15
mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
>>732
一旦すべてクリーンにして再度実行してみました。
以下ファイルをダウンロードし直してインストールしたのですが、同じエラーが発生してしまいました。
DB:MySQL 5.0.67
サーバー:Tomcat 5.5
JAVA:JDK 1.5
JDBC:5.1.7
これはやはりレジストリにデータが残っているせいか、ハードウェアの問題だと思うのですが、
どうでしょう?
一旦すべてクリーンにして再度実行してみました。
以下ファイルをダウンロードし直してインストールしたのですが、同じエラーが発生してしまいました。
DB:MySQL 5.0.67
サーバー:Tomcat 5.5
JAVA:JDK 1.5
JDBC:5.1.7
これはやはりレジストリにデータが残っているせいか、ハードウェアの問題だと思うのですが、
どうでしょう?
エラー内容は以下になります。
com.mysql.jdbc.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2120)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at top.Dao.open(Dao.java:22)
at top.Counter.access(Counter.java:59)
at top.InitDisplay.doPost(InitDisplay.java:64)
at top.InitDisplay.doGet(InitDisplay.java:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:335)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2043)
... 25 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:520)
at java.net.Socket.connect(Socket.java:470)
at java.net.Socket.<init>(Socket.java:367)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
... 26 more
ちなみに全てローカルで実行しています。
com.mysql.jdbc.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2120)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at top.Dao.open(Dao.java:22)
at top.Counter.access(Counter.java:59)
at top.InitDisplay.doPost(InitDisplay.java:64)
at top.InitDisplay.doGet(InitDisplay.java:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:335)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2043)
... 25 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:520)
at java.net.Socket.connect(Socket.java:470)
at java.net.Socket.<init>(Socket.java:367)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
... 26 more
ちなみに全てローカルで実行しています。
いろいろ調査したのですが、さっぱり原因がわかりません。
そもそも最初は問題なく動作していたのです。
ある日突然繋がらなくなりました。(getConnection()でエラーが発生)
もちろん接続周りはいじっていません。
大変申し訳ありませんが、どうか助言をお願い致します。
そもそも最初は問題なく動作していたのです。
ある日突然繋がらなくなりました。(getConnection()でエラーが発生)
もちろん接続周りはいじっていません。
大変申し訳ありませんが、どうか助言をお願い致します。
>>751
なんでOSを再インストールしなかったんだ?
なんでOSを再インストールしなかったんだ?
最初に動いていたものが動かなくなったのに、JDBCだけを疑うのはおかしいだろ。
OSパッチ当てたとか、JREをアップデートしたとか、その辺が原因だろ。
OSパッチ当てたとか、JREをアップデートしたとか、その辺が原因だろ。
わかりました。
やはりOSを再インストールすることにします。
長々お付き合い頂きありがとうございました。
やはりOSを再インストールすることにします。
長々お付き合い頂きありがとうございました。
OSパッチはともかく、JREをホイホイ上げるのはまずい。
上げるのなら、きちんと検証しないと。
上げるのなら、きちんと検証しないと。
ここまで他力あてにされると釣りかと思うが
エラーメッセージ見ないでマジレスすると
どこが原因なのか絞り込みしないと話にならない
MySQL側なのかJDBC側なのかそれ以外なのかさっぱり分からん
違うサーバーかVMがあるならそっちにMySQL入れて
自分のJDBC環境から繋がるのかどうか調べろ
それから上にもあったが自分でMySQLに繋いだときに
どこまで上手くいってるのか再確認すること
エラーメッセージ見ないでマジレスすると
どこが原因なのか絞り込みしないと話にならない
MySQL側なのかJDBC側なのかそれ以外なのかさっぱり分からん
違うサーバーかVMがあるならそっちにMySQL入れて
自分のJDBC環境から繋がるのかどうか調べろ
それから上にもあったが自分でMySQLに繋いだときに
どこまで上手くいってるのか再確認すること
ユーザー名とパスワードが空欄になってるユーザーが
いつの間にか登録されてたんですがどうやったら削除出来ますか?
2つ登録されていてホストはLocalhostとLinuxのサーバー名になってます
DROPでやってみましたがユーザー名が空欄なので指定出来ませんでした・・・
いつの間にか登録されてたんですがどうやったら削除出来ますか?
2つ登録されていてホストはLocalhostとLinuxのサーバー名になってます
DROPでやってみましたがユーザー名が空欄なので指定出来ませんでした・・・
>>760
個人的に大ボケ掘ったことがあるのが開発時にローカルで
サーバ起動したらポコッとダイアログが出てきて、一見すると
セキュリティの警告っぽかったので反射的に「拒否」をクリック
したら実はそれがファイアーウォールの警告。
それ以降サーバへの接続はことごとくファイアーウォールに
はねられていることに気づくまで「原因不明の接続エラー」と
して四苦八苦する事に。
その時も「いきなり動かなくなった、原因不明だ~」とか言い
ながらデバッグしたりパケットキャプチャとかかなり明後日な
方向で原因を探していたような。
個人的に大ボケ掘ったことがあるのが開発時にローカルで
サーバ起動したらポコッとダイアログが出てきて、一見すると
セキュリティの警告っぽかったので反射的に「拒否」をクリック
したら実はそれがファイアーウォールの警告。
それ以降サーバへの接続はことごとくファイアーウォールに
はねられていることに気づくまで「原因不明の接続エラー」と
して四苦八苦する事に。
その時も「いきなり動かなくなった、原因不明だ~」とか言い
ながらデバッグしたりパケットキャプチャとかかなり明後日な
方向で原因を探していたような。
今回は3306で入れるって言ってるからなぁ
ユーザー認証とか@localhostの人じゃないけど
Usersの中身で@の右がおかしくなってるとかかな
ユーザー認証とか@localhostの人じゃないけど
Usersの中身で@の右がおかしくなってるとかかな
釣りじゃないことを証明する方法は無いからな
ソースなりなんなり誠意を持って情報を出すしかないだろ
ソースなりなんなり誠意を持って情報を出すしかないだろ
今日からMySQLの勉強をはじめたんですが、
PHPとかPerlとか、そういうの全然知らないんです。
bashとかawkなら使えるんですが、当面それでも大丈夫でしょうか?
PHPとかPerlとか、そういうの全然知らないんです。
bashとかawkなら使えるんですが、当面それでも大丈夫でしょうか?
>>774
こんな感じですかい?
#!/bin/bash
# program sqllib.sh
sql_select()
{
echo "USE '"$b_name"'; SELECT '"$1"' FROM '"$t_name"'" | mysql -u root -ppassword
}
sql_showtbl()
{
echo "USE '"$b_name"'; SHOW TABLES FROM '"$b_name"'" | mysql -u root -ppassword
}
sql_showfls()
{
echo "USE '"$b_name"'; SHOW FIELDS FROM '"$t_name"'" | mysql -u root -ppassword
}
----------------------------------------------
#!/bin/bash
# program main.sh;
. sqllib.sh
b_name="hoge" # DB名
t_name="piyo" # TABLE名
sql_select "y"
sql_showtbl
sql_showfls
こんな感じですかい?
#!/bin/bash
# program sqllib.sh
sql_select()
{
echo "USE '"$b_name"'; SELECT '"$1"' FROM '"$t_name"'" | mysql -u root -ppassword
}
sql_showtbl()
{
echo "USE '"$b_name"'; SHOW TABLES FROM '"$b_name"'" | mysql -u root -ppassword
}
sql_showfls()
{
echo "USE '"$b_name"'; SHOW FIELDS FROM '"$t_name"'" | mysql -u root -ppassword
}
----------------------------------------------
#!/bin/bash
# program main.sh;
. sqllib.sh
b_name="hoge" # DB名
t_name="piyo" # TABLE名
sql_select "y"
sql_showtbl
sql_showfls
あまりに初歩的過ぎることかもしれませんが、UPDATEの質問です。
今、
id,name,col1,col2,col3,col4,col5
といったようなカラム構成のテーブルがあるとします。
col1~col5までは、全てtinyint(1)型で(別にchar(1)でもenum()とかでもいいんですが)
それぞれに、ある状態のフラグ(0,1,2..etc)が入るとします。
例、
id, name, co1, col2. col3 ,col4, col5
0001, yamada, 1, 0, 1, 1, 2
ここで、col1~col5までのそれぞれの値が、1の場合のみ2に変更(0or2の場合は変化なし)
したいのですが、一回のUPDATEクエリで更新することは可能でしょうか?
IF文あたりを駆使すれば出来なくもなさそうですが、よくわかりません。
現状、
UPDATE table SET col1=2 where col1=1 and id='~~';
UPDATE table SET col2=2 where col2=1 and id='~~';
・
・
UPDATE table SET col5=2 where col5=1 and id='~~';
のような感じで、5カラム分のクエリをそれぞれ書いているのですが・・。
今、
id,name,col1,col2,col3,col4,col5
といったようなカラム構成のテーブルがあるとします。
col1~col5までは、全てtinyint(1)型で(別にchar(1)でもenum()とかでもいいんですが)
それぞれに、ある状態のフラグ(0,1,2..etc)が入るとします。
例、
id, name, co1, col2. col3 ,col4, col5
0001, yamada, 1, 0, 1, 1, 2
ここで、col1~col5までのそれぞれの値が、1の場合のみ2に変更(0or2の場合は変化なし)
したいのですが、一回のUPDATEクエリで更新することは可能でしょうか?
IF文あたりを駆使すれば出来なくもなさそうですが、よくわかりません。
現状、
UPDATE table SET col1=2 where col1=1 and id='~~';
UPDATE table SET col2=2 where col2=1 and id='~~';
・
・
UPDATE table SET col5=2 where col5=1 and id='~~';
のような感じで、5カラム分のクエリをそれぞれ書いているのですが・・。
>>776
そこまで書いておいて・・・。
恐らく一つの行に対してそのcolどうのこうのっていう条件を与えたいと思うんだけど、
いまあるそのupdate文を一句ずつ見直せ。聞くようなものじゃない、答えはすぐそこ。大丈夫、やればできる。
そこまで書いておいて・・・。
恐らく一つの行に対してそのcolどうのこうのっていう条件を与えたいと思うんだけど、
いまあるそのupdate文を一句ずつ見直せ。聞くようなものじゃない、答えはすぐそこ。大丈夫、やればできる。
>>776
caseステートメントの知識を習得するといいことがあるかもしれない。
caseステートメントの知識を習得するといいことがあるかもしれない。
うおぉぉ~! できましたあ~、多分。
ってかこれでよいのかな?
UPDATE table SET col1=IF(col1=1,2,col1),col2=IF(col2=1,2,col2), ・・・ where id='~~';
IF文をSELECTの中で使うことは今まであったんですが、このようにUPDATE文の中の
SET col=exper の部分で、参照出来ることは分かりませんでした。
(一旦サブクエリとかで、何かに値を格納しないといけないのかと思い込んでおりました。)
いや、もしかしたらもっと効率のよい、或いは短いクエリで可能かも知れませんが・・。
>>777,778
レスありがとうございます。
778さんには申し訳ないですが、今回の場合は、カラムの値が真偽の2パターンだけでよかったので、
case文は使いませんでした。今後3パターン以上必要な時は、caseを使ってやってみたいと思います。
ってかこれでよいのかな?
UPDATE table SET col1=IF(col1=1,2,col1),col2=IF(col2=1,2,col2), ・・・ where id='~~';
IF文をSELECTの中で使うことは今まであったんですが、このようにUPDATE文の中の
SET col=exper の部分で、参照出来ることは分かりませんでした。
(一旦サブクエリとかで、何かに値を格納しないといけないのかと思い込んでおりました。)
いや、もしかしたらもっと効率のよい、或いは短いクエリで可能かも知れませんが・・。
>>777,778
レスありがとうございます。
778さんには申し訳ないですが、今回の場合は、カラムの値が真偽の2パターンだけでよかったので、
case文は使いませんでした。今後3パターン以上必要な時は、caseを使ってやってみたいと思います。
>>781
経験上は大抵のDBMSではそうなってくれるが、SQL規格上で保証されてるわけではないと思われる。
経験上は大抵のDBMSではそうなってくれるが、SQL規格上で保証されてるわけではないと思われる。
>>785
unique indexが出来るだけでしょ?
unique indexが出来るだけでしょ?
マニュアル調べてみたけど、書式が
ADD [CONSTRAINT [symbol]] UNIQUE [index_name]
ってなってるから、mysqlについてなら等価じっぽいな。
ADD [CONSTRAINT [symbol]] UNIQUE [index_name]
ってなってるから、mysqlについてなら等価じっぽいな。
mysqlクライアント起動するときに、デフォルトで/etc/my.cnfを読み込むけど、これを変更することはできますか?
--defaults-file=ファイル名
なにも引数つけないで起動すれば出てくるじゃん。
なにも引数つけないで起動すれば出てくるじゃん。
トランザクションで
ユニークインデックスのカラムに文字データを入れて
入ればコミット、入らなければロールバックをしてPHPのループで繰り返したのですが
一回でも入らないとそれ以後、全部入らなくなります。
何でですか?
ユニークインデックスのカラムに文字データを入れて
入ればコミット、入らなければロールバックをしてPHPのループで繰り返したのですが
一回でも入らないとそれ以後、全部入らなくなります。
何でですか?
>>792
トランザクションとループのネスト関係も提示されてない状態では答えようがない。
トランザクションとループのネスト関係も提示されてない状態では答えようがない。
sqlだったのかmysqlだったのかも忘れてしまったのでここで質問させてください。
where句のin述語で抜き出したタプルを、in述語に記載された順で取り出すキーワードを探しています。
select id from hoge where id in (1, 3, 5, 7, 9, 2, 4, 6, 8);
と書くと、この順で取り出せるようになるのです。
見つけたときは感動したのにメモを忘れていました。
where句のin述語で抜き出したタプルを、in述語に記載された順で取り出すキーワードを探しています。
select id from hoge where id in (1, 3, 5, 7, 9, 2, 4, 6, 8);
と書くと、この順で取り出せるようになるのです。
見つけたときは感動したのにメモを忘れていました。
はい、赤の方どうぞ
>>797
>>797
order by field(id, 1, 3, 5, 7, 9, 2, 4, 6, 8)
とか?
とか?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
みんなの評価 : ☆類似してるかもしれないスレッド
- MySQL 総合 Part12 (1001) - [94%] - 2008/1/30 17:34 ○
- MySQL 総合 Part25 (947) - [94%] - 2017/6/18 6:30
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part17 (1001) - [94%] - 2010/6/10 20:47 ○
- MySQL 総合 Part18 (986) - [94%] - 2011/1/17 15:46
- MySQL 総合 Part19 (982) - [94%] - 2011/6/9 2:33
- MySQL 総合 Part26 (860) - [89%] - 2023/2/2 9:30
- MySQL 総合 Part20 (995) - [89%] - 2011/10/17 4:48
- MySQL 総合 Part21 (1001) - [89%] - 2011/12/25 22:16
- MySQL 総合 Part22 (1001) - [89%] - 2012/7/10 16:45
- MySQL 総合 Part23 (992) - [89%] - 2013/8/11 17:00
- MySQL 総合 Part24 (1010) - [89%] - 2015/2/14 4:46
- MySQL vs PostgreSQL Part2 (941) - [31%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について