5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

MySQL 総合 Part14

1 :NAME IS NULL:2008/06/13(金) 10:18:03 ID:q0zt6p92
快速 RDBMS、MySQL の総合スレです。
前スレ[MySQL 総合 Part13] http://pc11.2ch.net/test/read.cgi/db/1201632550/l50
[関連スレと過去ログ]
http://find.2ch.net/index.php?STR=MySQL
http://makimo.to/cgi-bin/search/search.cgi?D=db&q=MySQL&sf=0&link2ch=on

[MySQL Developer Zone] http://dev.mysql.com/
[MySQL 日本語リファレンスマニュアル] http://dev.mysql.com/doc/mysql/ja/
[MySQL Internals Manual] http://dev.mysql.com/doc/internals/en/

[MyNA] http://www.mysql.gr.jp/
[MLja] http://lists.mysql.com/mysql-ja

ここで質問をする前に、MyNAでのFAQを最初に確認しましょう。
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ
MyNAでの「心得の条」
http://www.mysql.gr.jp/frame/modules/bwiki/index.php?%BB%A8%B3%D8%2F%BF%B4%C6%C0

・関連ツール及びユーティリティ
・関連書籍
>>2

  | .| /./  /      |   | _,,,,||,,,l.,,_ ト      /  | _ |    .|   /
.  | | .| |  l      .| .,-'|.l  .|l .| `|. l     '  /´ /    /   /
  | | |.|  .|      , |´ | .|  | _|,_ l .|      ./  ''`ト  ./  /
  | | |.|  |       |  .| |_,,l-,─-.,_、_ |     /   .λl,/   /
.  |. |. ||  |       .| | /::::l  ヽ `'' |   / ,  ,.ミ,|´|   ./
,,,__.| .| ヘ .|        | .|/ |:i::::::〉., ノl  | /  .//  ∨| /
  `'' ‐ 、l |        .|||l'l:|:|l:::::`':::::i´||  ''    /   ...:::::l..''
      .`ヽ、       |:| ヾl.ヾ::::::::::| .||        :::::::::  l
        .\_    -''lヾ ヘ:、.ヘ;;_;ノ ノレ            .l
          .ヾ=,,,_   .ヘ  ,ヾ_,,=..''´....      _,,,   /
           ヽ .i'`''‐--.〉''´  .ヽ::::::::  _,,, -‐'''´:::::l ./.|      drop tableは1日10回な!
.\          ヽ`ニ /     l.   /:::::::::::::::::::::::/ i''ヘ .l
  `ヽ         .l-‐''l      /   .l:::::::::::::::::_;;-ヘ l ヽ ヘ
   ./.`iヽ       .|ヽ|     ./ ,,,,,,,_.ゞ,,, -‐''ヽ. |.| .| ヾ.、.ヽ
  / /|.| ヽ      .| .|    /ヽ     /:::::ヾ .| ,l '| .l.l '|ヽ.、.ヽ
// /./.|,, -'''''''''''''''-.、.'-<    .|  ヽ   /:::::::::lト''´ .| | | .i.| .ヾ.、.ヽ
/ / /./        ヽ,.`   .l   ヽ,'ノ/ ヾ_;;;l.l   |/ .l l |  ヾ.、lヘ
  ./ .//l          i    |    .ヾ   |:::::|.|  .|' l//   i.|| i.|

6 :NAME IS NULL:2008/06/13(金) 13:43:26 ID:???
データはどの位あるの?

7 :5:2008/06/13(金) 14:00:00 ID:???
>>6
現在のデータ量はそれほどでもないのですが、
顧客データなのでこれから増えていくことも考慮して
多くのデータ(数千〜万行)を操作できるようなツールを探しています。

8 :NAME IS NULL:2008/06/13(金) 15:40:42 ID:???
最近、数万件のデータをその様にコンバートかけた事あるけど、
ツールを探したり、検証する時間がもったいないから、PHP で自分で作った

9 :NAME IS NULL:2008/06/13(金) 16:24:22 ID:???
というかテーブル構成変えてデータを元に戻してもテーブルにデータ入るわけないじゃん
馬鹿なの?

10 :NAME IS NULL:2008/06/13(金) 16:34:48 ID:???
どっちが馬鹿なんだか。質問の意味を理解してないみたいだな。
失笑を買う。

11 :NAME IS NULL:2008/06/14(土) 06:10:45 ID:???
>>5
SELECT INTO OUTFILEやLOAD DATA INFILEじゃダメなん?


12 :NAME IS NULL:2008/06/14(土) 07:43:13 ID:???
RHEL apache2 mysql5.0.41 php5.2.1 で
where col = '日本語文字列'
がマッチしないケースがあり困ってます

mysql, php ともに utf8 で col は日本語のマルチバイト文字列 (varchar) で
mb_check_encoding で true です。

teraterm から select した場合はマッチするのですが、php からの場合には
なぜかマッチせず、結果がnullになってしまいます。

どなたか思い当たらないでしょうか。

13 :NAME IS NULL:2008/06/14(土) 09:33:23 ID:???
これを実行してなかったという落ちじゃないよね?
http://jp.php.net/manual/ja/function.mysql-set-charset.php

14 :NAME IS NULL:2008/06/15(日) 13:40:20 ID:???
テーブルのカラムの位置ってselectしたりする際に何か影響があったりしますか?
例えば、よく参照するカラムは上のほうに配置した方が早いなど。

15 :NAME IS NULL:2008/06/15(日) 14:08:11 ID:???
カラムが行単位で繋がってると思う?

16 :NAME IS NULL:2008/06/15(日) 15:03:08 ID:???
SQL ServerやOracleでは、NULLになる可能性が高いカラムを後ろにすると、
1ブロックに格納できる行が増える場合があるけど、MySQLは知らん。

17 :NAME IS NULL:2008/06/15(日) 18:45:54 ID:???
このおばちゃんは元気でやってるの?
この画像がニュースで流れて以来、情報が無いのですが
ちゃんと避難できたでしょうか?
http://2chart.fc2web.com/2chart/obachannnigeteeeeeeeee.html

18 :NAME IS NULL:2008/06/17(火) 12:33:32 ID:???
すみませんが、質問です。

MySQL5.0でクエリキャッシュを無効にするには、どうしたらよいでしょうか?
巨大データのテーブルで検証したいことがあるのですが、キャッシュが効いて
しまって2回目以降のテストができないのです。
mysqldを再起動しても、どうもキャッシュは無効にならないようです。

環境はCentOS release 5 (Final)、64BITです。

19 :18:2008/06/17(火) 12:34:04 ID:???
ageときます。

20 :NAME IS NULL:2008/06/17(火) 18:33:11 ID:???
>>18
select SQL_NO_CACHE field from table ...;
select 文はいじりたくないなら
set query_cache_size = 0;

21 :18:2008/06/17(火) 21:18:35 ID:???
>>20
ありがとうございます。
5.1のマニュアルを斜め読みしたのですが、基本的に同じなのですね。
http://dev.mysql.com/doc/refman/5.1/ja/query-cache-configuration.html

22 :NAME IS NULL:2008/06/18(水) 05:36:21 ID:UtvFT/hw
cronで1日一回メンテナンスしているのですが
バックアップログを見ると、あるテーブルが、毎日修復されています
myisamchk -r
で修復は成功するのに、次の日になるとまた壊れているといった状態です
myisamchk -o
で直してみましたが、やはり次の日には壊れていました
インデックスとデータファイルの間に齟齬があるのだと思いますが
どういう処理をしたらいいでしょうか?

23 :NAME IS NULL:2008/06/18(水) 07:30:03 ID:???
>>22
もうだめぽ。Oracleに乗り換えるしかないよ。

24 :NAME IS NULL:2008/06/18(水) 09:30:28 ID:???
的外れだったら申し訳ないんですが、質問失礼します。

現在、VMWareのLinuxで仮想DBを構築しているのですが、
mysqlのインストールまでは正常に出来ているのですが、いざコマンドを流してサービスを開始しようとすると、失敗してしまいます。

ログを見たところ、
InnoDB : Error :pthread_create returned13

・・・とのこと。
少し違うようですが、
http://mysqlpracticewiki.com/index.php/Can't_create_a_new_thread_(e...
この事例が一番近いのかな、と思い、確かめてみたのですが、どうも腑に落ちません。
mysql のバージョン4.1.22、CentOSとのバージョンの相性が悪いのでしょうか?

それともこれはMySQLでなくてLinuxのエラーなのでしょうか・・・


25 :NAME IS NULL:2008/06/18(水) 09:47:44 ID:???
>>24
もうだめぽ。Oracleに乗り換えるしかないよ。

26 :NAME IS NULL:2008/06/18(水) 14:40:00 ID:???
>>22
MyISAMをやめる

27 :22:2008/06/19(木) 04:07:08 ID:???
myisamchkでなく、
repair tableを使うと壊れなくなりました
マニュアルには両者はほとんど同じだと書いてありますが
微妙に違うみたいですね

28 :NAME IS NULL:2008/06/19(木) 20:28:04 ID:???
>>27
mysqld止めずにmyisamchkやってたんじゃない?

29 :NAME IS NULL:2008/06/19(木) 23:25:04 ID:kglhKwt9
Linux 上で、ソースイヌスコで MySQL Cluster を構成して実験したいけど、
どのtar玉を使えばいいのか、ものすごく分かりにくいな。

MySQL Server : mysql-5.1.25-rc.tar.gz
MySQL Cluster : mysql-5.1.23-ndb-6.2.15.tar.gz

↑の組み合わせが最新版だと思うんだけど、

mysql-5.1.24-ndb-6.3.15-telco.tar.gz

とかいうMySQL Clusterも見つけてしまって、どれが正解かさっぱりワカンネ

30 :NAME IS NULL:2008/06/19(木) 23:34:35 ID:???
>>29だけど。

バイナリだと、
http://dev.mysql.com/downloads/mysql/5.0.html#linux-rhel5-x86-32bit-rpmsから

SQLノード
MySQL Server
MySQL Client

データノード
Cluster Storage Engine

マネージメントノード
ClusterStorageEngineManagement
ClusterStorageEngineBasicTools
ClusterStorageEngineExtraTools

をダウソしてインスコすりゃいいんだけど、それぞれに対応する
tar玉がどれになるのかが把握できん…

31 :NAME IS NULL:2008/06/20(金) 06:21:57 ID:bhQIeTGR
mysqldを止めずにmyisamのバックアップをするにはどうするのがいいですか?
今はmysqldを止めて、関連ファイルをそのままコピーしています

32 :NAME IS NULL:2008/06/20(金) 07:09:35 ID:???
mysqldump --lock-all-tables --hex-blob --result-file=name-of-backup.mysql -B specific-dbname
全部バックアップなら -B 以下は不要。

33 :NAME IS NULL:2008/06/20(金) 14:34:55 ID:???
だ〜っ!
遂に、mysql.bkbits.net のでソースコード公開停止か?
今までブックマークしてた各ページにアクセスしたら、どこも404 NotFoundになっちった。

34 :NAME IS NULL:2008/06/20(金) 15:10:44 ID:lE+0a2Do
MySQL終了のお知らせキタコレ

35 :NAME IS NULL:2008/06/20(金) 23:07:16 ID:???
MySQL4.0.24のテーブル結合なんですが、同じ列名が両テーブルに存在するときはどのように
結合すればいいのでしょうか?
一応多重結合するのでTEMPORARYテーブルを作成しようとしてるのですが
Duplicate column〜といわれてしまいます。

36 :NAME IS NULL:2008/06/20(金) 23:12:47 ID:???
tbl1.col=tbl2.col・・・

37 :NAME IS NULL:2008/06/20(金) 23:17:46 ID:???
>>36
イコールの関係ではない列の列名が同じなのだが。。。
そういう場合は不可能でしょうか?
SQLiteだったら、テーブル名.カラム名と結合された列名が作成されてたのですが、MySQLではそういう出力方法は不可能なのでしょうか?

38 :NAME IS NULL:2008/06/20(金) 23:35:19 ID:???
。。。←この読点は何?日本語不自由なの?

39 :NAME IS NULL:2008/06/21(土) 00:01:28 ID:???
>>38
そりゃ句点だ。

40 :NAME IS NULL:2008/06/21(土) 00:13:48 ID:???
>>37
select tbl1.col,tbl2.col・・・ で普通に取れるけど・・・。
又は、tbl1.col as some1,tbl2.col as some2 みたいにするか。
この方法だと後ろで、where,having,group by,order byとかも自由自在。
(たしかにselect *で取ると、結果一覧には、同名のカラムで出力されるけど。)

41 :NAME IS NULL:2008/06/21(土) 05:59:42 ID:???
38 :NAME IS NULL:2008/06/20(金) 23:35:19 ID:???
。。。←この読点は何?日本語不自由なの?

39 :NAME IS NULL:2008/06/21(土) 00:01:28 ID:???
>>38
そりゃ句点だ。

42 :NAME IS NULL:2008/06/21(土) 06:34:28 ID:???
>>33-34
Bazaar に移ったってアナウンスされてるでしょ
過去のリリースのソースコードも全て移行したらしいよ
これでリポジトリ管理も完全にオープンソースになったんだとか

http://blogs.mysql.com/kaj/2008/06/19/version-control-thanks-bitkeeper-welcome-bazaar/

43 :NAME IS NULL:2008/06/21(土) 07:35:05 ID:???
>>32
ありがとうございました

44 :NAME IS NULL:2008/06/21(土) 09:10:40 ID:pOUskDmd
MyISAMで作ったテーブルって、1000万行(3GB以上)になると、
頻繁に壊れますね。REPAIRで修復していたのですが、
ついにその修復も不能のなってしまって、相当落ち込みました。

これからは、すべてのテーブルをInnodbにするつもりなのですが、
Innodbでも修復不能になった経験お持ちの方はいらっしゃいますか?
ぜひ、経験談をお聞きしたいです。

45 :NAME IS NULL:2008/06/21(土) 12:20:42 ID:???
修復不可能ってマジっすか!?
怖いなぁ・・・・

46 :NAME IS NULL:2008/06/22(日) 06:01:56 ID:???
>>42
おお、サンクス。
そうなのか、知らなかったぜ。

しかし新しいレポをちょっと見に行ったけど、今までみたいにバージョンリリースごとにあった
Tagで検索したり指定したりするやり方が出来るのかようわからん。(全部リビジョン番号みたいのになってる)

それに5.1のディレクトリがバラバラになってて、どれ取って来ていいかわからん。
(前もいくつかに分かれてたけど、一応メインと思われる、mysql-5.1/ってのがあったと思うんだが)

47 :NAME IS NULL:2008/06/22(日) 12:33:04 ID:???
>>29-30にしても>>46にしても



  M  y  S  Q  L  の  リ  リ  ー  ス  の  分  か  り  に  く  さ  は  異  常



 

48 :NAME IS NULL:2008/06/22(日) 15:07:39 ID:???
ibdata1のサイズが大きくなりすぎたので、
innodb_file_per_tableオプションをつけて、
テーブルごとにデータファイルを作成するようにしました。
DB内のすべてのテーブルをalter table table_name engine=innodbを
実行して、すべてのテーブルにデータファイルができていることを確認しました。

ところが、それでもいまだにibdata1のファイルの更新が続いています。
もう、使っている箇所はないと思うのですが、勝手に消してしまってもかまわないのでしょうか?
宜しくお願いします。

49 :NAME IS NULL:2008/06/22(日) 22:00:12 ID:SOmTnHfg
DELETEのあと、AUTO-INCREMENTは加算されっぱなしだよね?
消した分だけ減らしたいんだけどいい方法ない?


50 :NAME IS NULL:2008/06/22(日) 22:36:23 ID:???
>>48
ソース見失ってしまったが
たしか消しちゃだめのはず


51 :NAME IS NULL:2008/06/22(日) 23:46:12 ID:???
>>48
ibdataファイルには、テーブルの実データだけでなく、ほかに色々な情報が入ってたはずなんで、消したらダメ。
どうしても気になるって言うんなら、一旦現状の全データをdumpしつつ、mysqldを停止して
my.cnf(my.ini)でibddataのファイルサイズを小さく設定して(でもゼロには出来なかったはず。最低いくらだったか忘れた)
再度全テーブルを構築し直す、ってくらいしかないんじゃないか。
(それでも多分、小さくなったibdataファイルに、いくらかの読み書きは発生すると思うけど)

>>49
これも上のと似たような話になるけど、deleteした後必要な部分だけdump→truncateでtable再作成
→(auto_incrementカラム以外の)データ再インポート
ってやりかたなら出来なくもないけど、メンドクセすぎか。(人間的にも、マシン、ソフト的にも)

それにこのやり方だと、消したところのレコード番が飛び飛びになってる行は、その値が変わってしまう。
その消した(飛び飛びになった)行番を再利用したい ってことなら、それはauto_incrementの特性上不可能。

52 :NAME IS NULL:2008/06/22(日) 23:59:33 ID:???
Falconに期待

53 :NAME IS NULL:2008/06/23(月) 23:55:55 ID:???
最近のリリースではMyISAMじゃなくてInnoDBがデフォルトになってるのね。
それだけ、(多機能だっていうだけじゃなくて)スピード面でもInnoDBが進歩したってこと?


54 :NAME IS NULL:2008/06/24(火) 00:12:48 ID:???
innodbって普通のファイルコピーでバックアップできないのが嫌
使ってる人バックアップツール買ってんの?

55 :NAME IS NULL:2008/06/24(火) 01:30:13 ID:???
> innodbって普通のファイルコピーでバックアップできないのが嫌
> 使ってる人バックアップツール買ってんの?

レプリケーションすればいいだろ。

56 :NAME IS NULL:2008/06/26(木) 19:15:06 ID:???
mysqlのDNS処理部分に詳しい人情報きぼんぬです。

Linuxサーバにipalias で eth0に複数IP割り当てて
全部逆引きで hoge.example.jp と設定しました。
nslookupなどで逆引きチェックなどを行っても設定した
全IPで正常に逆引きが行える。

しかし、どうしても mysqlの認証で user@hoge.example.jp
というユーザの認証がクリアできません。
Host '(IPアドレス)' is not allowed to connect to this MySQL server
とか表示されちゃう。
そのmysqlサーバからnslookupなどを行ってももちろん該当IPの
逆引きはできてる。でもなぜかmysqlサーバだけちゃんと名前解決しようと
しない。
ためしにuser@(IPアドレス)ってやったら問題なくログインできる。
とりあえず名前解決の問題ということは断言できる状態です。

あとは
/etc/hostsをいじったり
/etc/resolv.conf を何回もチェックしたり、別DNSに変えたり
繰り返してますがかなりはまってます。

どなたかヘルプミー


57 :NAME IS NULL:2008/06/26(木) 21:15:48 ID:???
use mysql;
select user,host from user;
select user,host from db;
として、user,hoge.example.jp とuser,host のフィールドに出てますか。

58 :56:2008/06/26(木) 21:53:10 ID:???
select user,host from user;
こっちなら出ます。

select user,host from db;
こっちでは作成してあるDBが出ます

59 :NAME IS NULL:2008/06/28(土) 06:29:52 ID:???
>>56
ちゃんと hoge.example.jp が正引きできてる?
あとは、skip-name-resolve で mysqld が動いているというオチとか…。

60 :NAME IS NULL:2008/06/28(土) 14:00:51 ID:???
◆◆◆◆◆毎日新聞社による日本人女性への誹謗中傷◆◆◆◆◆

・母親は受験勉強をする息子の学力向上のためにフェラチオをする
・日本人女性の55%は、出会ったその日に男と寝る
・ファストフードは女子高生たちを性的狂乱状態におとしいれる
・ティーンたちはバイアグラを使ってウサギのようにセックスをする
・女子高生は、刺激のためにノーブラ・ノーパンになる
・日本の最新の流行 : 70歳の売春婦
・老人の売春婦の人気にもかかわらず、日本では小学生の売春婦にも仕事がある
・日本の若い看護婦は売春婦に勝る
・24時間オルガズムが止まらない病気で苦しむ日本人女性の数が増えている
・15未満の子供を対象とした疑似ポルノが日本に蔓延している
・OLの72%が、セックスをより堪能するために何らかのトレーニングを受けている
・人妻は気分転換の目的で昔の恋人に抱かれに行く
・主婦は郊外のコイン・シャワーで売春をしている
・日本男子は柔道や空手の部活で男相手に童貞を捨てている
・ほとんどすべての漁師は海でマンタとSEXしている
・まだ10代の少年から退職した老人までみんな2980円の手コキを利用している
・六本木のあるレストランでは、食事の前にその材料となる動物と獣姦する

※同社が全年齢向けコーナーで七年以上にわたり世界に向けて配信していたものの一部です
※同社の行為は日本人への偏見や人種差別、婦女暴行、幼児虐待を助長するものです

◆毎日新聞の英語版サイトがひどすぎる まとめ@wiki
 http://www9.atwiki.jp/mainichiwaiwai/
◆毎日新聞問題の情報集積wiki
 http://www8.atwiki.jp/mainichi-matome/

つまり日本国民は
http://www.vipper.net/vip552788.jpg

61 :NAME IS NULL:2008/07/02(水) 11:42:26 ID:???
select TIMEDIFF('2008-07-02 10:00:00','2008-07-02 10:00:01');
は -00:00:01なんですが、

select TIMEDIFF('2008-06-13 10:20:06','2008-06-13 10:25:00')>=0;
は1になります

これって勝手に0に丸められてるってことですか?


select TIMEDIFF('2008-07-02 10:00:00','2008-07-02 11:00:00')>=0;  →0
select TIMEDIFF('2008-07-02 10:00:00','2008-07-02 10:01:00')>=0;  →1

挙動が理解できん・・・


62 :NAME IS NULL:2008/07/02(水) 12:11:28 ID:t4YEzj5m
質問です
phpmyadmin 2.11.7にて
MySQL5.0のデーターベースを作成しようとしたら

phpmyadminからパスワードを入力した後
新規作成から作ろうと思ったら、またログイン画面に戻ってしまいます
作成してあるデーターベースから選択して開いても
またログインページに戻り再度passを入れたら中身が見れるようになってます

突然起こった現象なんですが
apacheにてショッピングカートのwebアプリを起動してます
何卒対策があればお願いしますorz

63 :NAME IS NULL:2008/07/02(水) 17:37:32 ID:AFk/IFVn
テーブル名を ` で囲わないとselect文で検索出来ません。
どこの設定がおかしいのでしょうか?

64 :NAME IS NULL:2008/07/02(水) 18:06:29 ID:???
>>63
テーブル名になにか記号入ってない?
-(ハイフン)とか

65 :NAME IS NULL:2008/07/02(水) 18:14:56 ID:???
>>62
>>62
あてずっぽだけどphpMyAdminの認証方法はどうしてますか?
例えばcookieにしてたら、それが途切れてログインページにとばされるとか。

通常の使用でも一定時間操作しないでいると、クッキーの有効期限がきれて
ログインページにとばされたと記憶

66 :63:2008/07/02(水) 18:22:27 ID:AFk/IFVn
>>64
ご助言ありがとうございます。
小文字の英字3文字です。『day』みたいな感じです。


67 :NAME IS NULL:2008/07/02(水) 19:08:33 ID:???
>>65
返信ありがとうございます
ずばりそれだと思います!phpmyadminの.iniも
cookieの設定にしてあります

MYSQLにてショッピングカートを使っていたんですが
そちらの管理画面にもログインできなかったので一度
HDDに残っていたクッキーを全て削除してから
不具合が生じてきてしまっている状態です
今もサイトで調べているんですが全く分からなくて
解決策などあれば何卒お願い致します


68 :NAME IS NULL:2008/07/02(水) 19:55:21 ID:???
>>61
真と偽

69 :NAME IS NULL:2008/07/02(水) 21:45:45 ID:???
ワロタ。プログラム未経験者だな

70 :NAME IS NULL:2008/07/03(木) 00:19:56 ID:???
>>66
「day」みたいな…じゃなくて、本当のテーブル名を書くのが吉。たぶん予約語。

71 :NAME IS NULL:2008/07/03(木) 21:02:20 ID:???
MySQLからSunと合体したっていうメールが来た。ビックラこいた。

72 :NAME IS NULL:2008/07/03(木) 21:22:44 ID:???
GRANT ALL PRIVILEGES ON monmon.* TO 'user1'@'192.%' IDENTIFIED BY 'hogehoge';

と設定したらこれは192.0.0.0/255.0.0.0からアクセスOKということですよね?

73 :NAME IS NULL:2008/07/04(金) 03:05:20 ID:???
質問です。

1週間ほど前からサーバーの反応が異常に遅くなり、2日ほど原因を調べていたところ
MySQLへのログインに時間がかかっているということまでわかったのですが、
どうすればよいかわかりません。

もうひとつ、sockstatすると外部からmysqlのポートにアクセスしている形跡があります

おたすけを。。

74 :NAME IS NULL:2008/07/04(金) 06:23:37 ID:???
開いたままのプロセスが沢山溜まっているとか
/usr/bin/mysqladmin -u root -p processlist

原因は、バグとか DoS とか、さまざま

>もうひとつ、sockstatすると外部からmysqlのポートにアクセスしている形跡があります

そもそも、どうして「外部」に向けてmysqld のポートを開けてあるんだろう。
(「外部」って、www サーバとかじゃないよね?)

75 :NAME IS NULL:2008/07/04(金) 13:12:33 ID:???
>74

ありがとうございます。
特にプロセスが溜まっているということはありませんでした。


>そもそも、どうして「外部」に向けて

以前外から使う必要があり開けていて、今回整理したのですが、
それでもまだsockstatにのっているのですよね。。。


auth.log

Jul 4 12:53:40 s1 mysqld[48007]: refused connect from 219.101.151.95
Jul 4 12:54:00 s1 mysqld[48007]: refused connect from 219.101.151.95
Jul 4 12:56:00 s1 last message repeated 6 times

はぁ。。


MySQL 5.1.25-rc

76 :NAME IS NULL:2008/07/04(金) 13:53:00 ID:???
以前だろうが何だろうが、穴を開けること自体が間違っている。
平文パスワード垂れ流しですよ? API化するか、せめてVPNに乗せるべきだ。

77 :NAME IS NULL:2008/07/04(金) 13:55:50 ID:???
RHEL4 上 の MySQL を 4.1.20 から 5.0.62 にアップグレードしたのですが、
起動時、ログに下記のようなエラーが出るようになりました。

[Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295

4294967295 は 4.1.20 の頃からのデフォルト値ですが、
18446744073709551615 という数値が一体どこから出てきたのかが分かりません。
(18446744073709551615 が符号無しの値だから 4294967295 にしちゃうね!
みたいなことを言われてるのは分かるのですが。)
コンフィグファイルや起動オプションでも渡していないですし、

show (global) variables like 'max_join_size';

で見ても 4294967295 がセットされてます。

この警告について解消法等ご存じないですか?

78 :NAME IS NULL:2008/07/04(金) 15:20:58 ID:UOBy4rbU
先日、サーバ(Win/XAMPP)そのものが物理的に壊れてしまい、
データ復旧するため途方にくれております。

サルベージしたところ、
\xampp\mysql\dataは、そのまま残っているようですが、
これを別の同名フォルダに入れてしまえば、同じようなデータベースが作られるのでしょうか?
破損が怖くて試せません。

どうか詳しい方、お力を貸して下さい。

79 :NAME IS NULL:2008/07/04(金) 15:36:16 ID:???
show variables like 'sql_big_selects';

が OFF になっているのかも。

>show (global) variables like 'max_join_size';
>で見ても 4294967295 がセットされてます。

それは「adjusted」された後の値だから当然。

80 :NAME IS NULL:2008/07/04(金) 16:09:30 ID:???
>>75
localhost のみで良いなら

[mysqld]
bind-address = 127.0.0.1
port = 3306
socket = /tmp/mysql.sock

だな。他にもルータで遮断するとか OS のパケットフィルタ使うとかあるでしょ。

81 :NAME IS NULL:2008/07/04(金) 16:36:21 ID:???
> サルベージしたところ、
> \xampp\mysql\dataは、そのまま残っているようですが、
> これを別の同名フォルダに入れてしまえば、同じようなデータベースが作られるのでしょうか?
> 破損が怖くて試せません。

そのディレクトリを DVD-R とかに焼くといいよ。
そしたら気が済むまでチェックできるでしょ!

82 :NAME IS NULL:2008/07/04(金) 17:17:14 ID:???
>>79
sql_big_selects は ON になっていました。

また、起動オプションや my.cnf 上でmax_join_size の値を他の値(100000 とか)に
指定して起動してもログに全く同じエラーが出力されますが、
show variable で見ると、値自体は指定したもの(100000 とか)になっています。


83 :NAME IS NULL:2008/07/04(金) 17:56:01 ID:???
tab_name
-------------------
id   int auto_increment
name varchar(255) not null
name_kana varchar(255) not null
-------------------

tab_tag
-------------------
tid int auto_increment
id   int not null
str varchar(255) not null
-------------------

こんなテーブルで人物ごとにタギングされているとして
検索時に取得する際、マッチしたデータとマッチした数を取り出したいのですがどうすれば効率的でしょうか?
以下のようにデータは取れるのですが、マッチした数(最大数として保持したい)のためにもう一度、like検索するのはあまり効率的でない気がするので・・・

select n.id,name from tab_name n, t_tag t where
n.id = t.id and
(str like %hoge% || str_name like %hoge% || str_name_kana like %hoge%);

84 :NAME IS NULL:2008/07/04(金) 18:50:27 ID:???
>>82
それ、自分のとこでも5.0.50のころあたりから出てる。(CentOS4のsrpm.specをベースに自前で
ビルド)

manualとかにも詳しく載ってないのではっきりとは断言できないけど、
4294967295 とゆう数値は、unsigned int(32)の上限値(4G)で、
18446744073709551615 は、unsigned int(64) (一般的に u long long)の上限値(16E、4G*4G)
のこと。
(ちょっとプログラミングでもかじった事あるなら、ピンと来るはず)

で、max_join_sizeは、一回の結合クエリで保持できる最大データサイズのことだけど、
どこかのバージョンアップの際に、ソースコード上での指定が、uint_32からuint_64に変わった
んではないか。

i386(i686)ベースのアーキテクチャでは、事実上4G以上のデータをメモリに確保することが出来
ないので、
"最大サイズを4Gに制限したよ"みたいな警告が起動時に出るようになったんではないかと思う。
(swapがどうとかではなく、そのプロセスが保持できるポインタサイズが32bitなので、4G以上の
領域にアクセス出来ない)

自分も以前、コンバイルオプション等を色々調べて、これがどうなってるか探したことがあるん
だけど、
mysqldだけの問題ではなくて、kernelやglibcの制限なんかも絡んできそうなので、
結局basearchがi386系の時は、これは出るものなんだと思ってあきらめた。

x86-64や、PAE-kernel使用時ではどうなるかは確認してない。
(cpuはx64対応持ってるけど、メモリを4G以上搭載出来るマシンがすぐに用意できない・・。い
ずれはやってみたいけど)

85 :84:2008/07/04(金) 18:55:24 ID:???
現在PCのプロバからは書き込み規制中なんで、携帯からカキコ。
改行が変になっちった。

86 :NAME IS NULL:2008/07/04(金) 19:00:01 ID:???
>>78
InnoDBならダウト

87 :NAME IS NULL:2008/07/04(金) 19:37:43 ID:???
>>83 >以下のようにデータは取れるのですが

その select 文や where 句、通るの ?
t_tag, str_name, str_name_kana とか、謎のフィールドもあるし…

88 :NAME IS NULL:2008/07/04(金) 21:12:25 ID:???
>>76

以後気をつけます!

>>80

ありがとうございます!


89 :NAME IS NULL:2008/07/04(金) 23:50:26 ID:???
>>73
--skip-name-resolve

90 :NAME IS NULL:2008/07/05(土) 10:38:14 ID:???


91 :NAME IS NULL:2008/07/05(土) 13:56:48 ID:???
5.1の全文検索って全角だろうが頭についてる記号無視するようになったのな
固有名詞だと頭が記号のやつ結構あるのでこれ仕様だったら安定版出ても5.0からのりかえられない
せっかく速かったのになあ

92 :83:2008/07/05(土) 14:19:00 ID:???
>>87
すみません。
間違えました
(str like %hoge% || name like %hoge% || name_kana like %hoge%);
でした。

別テーブルにカウント数を保存しておくくらいしか手はないでしょうか?

93 :NAME IS NULL:2008/07/05(土) 14:54:24 ID:???
頻繁にアクセスするなら memcached とかでキャッシュすればよくね。

94 :NAME IS NULL:2008/07/05(土) 15:33:43 ID:???
memcachedは不安定という印象しか無いのは某サイトのせい

95 :NAME IS NULL:2008/07/05(土) 15:51:30 ID:???
某サイトってどこ?

96 :NAME IS NULL:2008/07/05(土) 16:43:20 ID:fvlvnh8l
memcachedとMEMORYテーブル使うなら、どっちがパフォーマンスがいいですか?
以前MEMORYテーブルを使ったことがあるのですが、MEMORYテーブルなのに、
SELECT文(INDEXあり、8万行)が0.2秒もかかったことがあって、遅いことに驚いたのですが。

memcachedに接続する際のコストを考えると、どうかという気もしますが、
本当に速いのか知りたいです。

97 :NAME IS NULL:2008/07/06(日) 08:44:47 ID:KAV48epf
質問です、
DBはMYSQLで以下のテーブルがあるとします。

T1
id_1,id_2

T2
id_1,id_3

T1とT2はid_1より紐付いています。(1対1)

今、T1を更新したいのですが、
条件が
T1のid_2とT2のid_3を比較して、
異なればT1のid_2を
T2のid_3に更新するというものなのですが、

これを一回のSQL(UPDATE)では出来ないものでしょうか?


98 :NAME IS NULL:2008/07/06(日) 09:10:15 ID:???
update t1 left join t2 using(id_1) set id_2 = id_3 where (NOT id_2 = id_3);

ただし、t2 にあってt1にない項目はupdateされません。

99 :NAME IS NULL:2008/07/06(日) 15:07:40 ID:HJBLqAyo

ちなみに
using句のid_1で
T2のid_1のカラム名がid
だったらどうすればいいですか?

100 :NAME IS NULL:2008/07/06(日) 15:14:45 ID:d5c64NH+
始めたばかりなんですが、ファイルからデータを読み込むときに
file not found のエラーがでます。ファイル自体はちゃんと置いてあるのですが、考えられるエラーの理由はなんでしょうか…

101 :田中さん:2008/07/06(日) 19:33:52 ID:pcnIKAGY
エヴァンゲリオンにあわせた曲(バンプのアルエ)みたいな曲ないですか

102 :田中さん:2008/07/06(日) 19:37:09 ID:pcnIKAGY
j-popではなくても大丈夫です


103 :NAME IS NULL:2008/07/07(月) 15:58:45 ID:???
2つのテーブルからマッチする値をとる際、1テーブル(one)のidの値とマッチしないid番号のみ2テーブル(two)からマッチするかチェックさせたいのですがどのようにできるでしょうか?

select * from one where id like '%hoge%'
これでマッチしない値
select * from one_option sub_id like '%hoge%'

できれば1文で結合したいです。
お願いいたします。

104 :NAME IS NULL:2008/07/07(月) 16:32:26 ID:???
not existsでぐぐれ

105 :NAME IS NULL:2008/07/08(火) 21:15:35 ID:1C8T6mT4
クライアント端末からサーバにVB.NETでMySQLのテーブルを検索しようとすると

Unable to connect to any of the specified MySQL hosts

のエラーが出ます。

なにかクライアント側で設定がたりないのでしょうか?

329 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)