のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,369,179人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレMySQL 総合 Part24

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    501 : NAME IS - 2014/04/12(土) 15:45:42.37 ID:???.net (+62,+29,-1)
    >>500
    テーブル分ければ良いだけだからさ
    502 : NAME IS - 2014/04/12(土) 16:09:50.15 ID:???.net (+101,+5,-22)
    webサイト毎にtable作るってのも考えたんですが
    以前ココで1000万テーブル作ったりするのは設計ミスとか言われたんで
    503 : NAME IS - 2014/04/12(土) 17:05:45.33 ID:???.net (+67,+29,-23)
    >>502
    どんな質問をして設計ミスって言われたのか知らん。
    ただ言えることは、規模とか用途とかによってテーブル設計が変わる。
    まあそれでも1000万テーブル作るってことは無いと思うけど。
    504 : NAME IS - 2014/04/12(土) 23:41:03.96 ID:???.net (+71,+29,-5)
    >>502
    テーブルパーティショニングとかそこらへんの話だろ
    505 : NAME IS - 2014/04/15(火) 07:04:56.00 ID:???.net (+46,+28,-1)
    やっとでたか
    506 : NAME IS - 2014/04/15(火) 13:57:42.65 ID:???.net (+17,-30,-132)
    SQLインジェクション対策したいんですが、

    $test = $_GET['data'];

    //エスケープ
    $test = mysql_real_escape_string($test);

    $result = mysql_query("select * from aaa where name = '{$test}'");


    このようにmysql_real_escape_stringでエスケープしてれば、SQLインジェクションって防げますよね?
    防げない場合どういうパターンがあるのか教えてください
    507 : NAME IS - 2014/04/15(火) 17:40:11.51 ID:+eHKgKM6.net (+29,+29,-67)
    レプリケーション時に マスターに障害発生したら
    スレーブ⇒マスター切り替え はよく目にするんだけど

    その後元マスターが復旧したときに
    マスター⇒スレーブ を安全におこなう方法がよくわからない
    DB起動する前にマスターがいたら云々というバッチを作るの?
    508 : NAME IS - 2014/04/15(火) 19:44:51.55 ID:???.net (+21,-4,-11)
    >>506
    スレ違い
    509 : NAME IS - 2014/04/15(火) 21:29:02.65 ID:???.net (+57,+29,-7)
    一度死んだ奴をマスタに戻す必要があるのか?
    510 : NAME IS - 2014/04/15(火) 21:34:46.75 ID:???.net (+57,+29,-21)
    俺が見てるスレだけでも3つのスレでマルチしてるなコイツ
    PHPスレで回答もらったっぽいけど
    511 : NAME IS - 2014/04/15(火) 21:49:47.80 ID:???.net (-1,-29,-42)
    普通にchange masterすればいいんじゃね
    posがずれていないかとか、そもそもパラメータがACID特性を満たす設定になっているとか確認すべき項目はあるが
    512 : NAME IS - 2014/04/17(木) 16:43:11.04 ID:???.net (+3,-29,-52)
    インデックスがかかっているカラムに対してIN句を使って
    データを抽出したいと思っています。

    WHERE id IN (id1, id2, id3……)

    ソースが雑なのと条件が増えた時に遅くなりそうなのでもう少しスマートな
    方法はないものかと思っているのですが、いい処理方法はないでしょうか?
    513 : NAME IS - 2014/04/17(木) 16:58:02.84 ID:???.net (+33,-29,-17)
    id1,2,3はどうやって出してるの?
    514 : NAME IS - 2014/04/17(木) 17:15:44.63 ID:???.net (+65,+28,-111)
    >>513
    それは前画面にチェックボックスがあって、そこでチェックした時にidを仕込んで
    次画面でREQUESTから取得して、配列からカンマ区切りにしてid1,id2,id3…としています。

    前画面というものが条件に合致したデータを全て表示して、
    そこからチェックボックスで選択したものだけに対して、次画面でデータを
    再度引っ張ってきてデータ内容の詳細表示をするというような画面になっています。

    IN句を使えばできてはいるのですが、何かちょっと…と思いまして。
    515 : NAME IS - 2014/04/17(木) 18:37:43.03 ID:???.net (+91,+29,-19)
    idを出す手段に規則性が無いならそうやるしかないと思うけど。
    516 : NAME IS - 2014/04/17(木) 18:43:34.68 ID:???.net (+70,+29,-2)
    >>515
    やっぱりそうですかー
    このままやることにします。ありがとうございました。
    517 : NAME IS - 2014/04/18(金) 16:35:02.33 ID:???.net (+3,-30,-132)
    集計のクエリーについて質問です

    例えば都道府県の名前をユニークキーとしたマスターテーブルがあり
    そのキーを使用したログテーブルがあるとします 訪れた場所[北海道、千葉、東京、千葉、大阪]

    それを
    北海道 1
    千葉 2
    東京 1
    大阪 1
    のように複数レコードで集計したいのですが下記のように書くと

    SELECT 県名, count( 県名, ) FROM ログ WHERE ログ.県名 IN ( SELECT マスター.県名 FROM 都道府県 マスター )

    最初の県名[北海道]と全ての合計数[5]と1レコードで終了してしまいます
    各合計を求めるにはどのようにすればよいでしょうか?

    よろしくお願いします
    518 : NAME IS - 2014/04/18(金) 16:43:22.48 ID:???.net (+22,-5,-17)
    ああ・・・こういう時にGROUP BY を使うのですね
    失礼しました
    520 : NAME IS - 2014/04/19(土) 14:33:41.09 ID:???.net (+37,-24,-1)
    指定しなくてもInnoDBになる
    それだけ
    521 : NAME IS - 2014/04/19(土) 15:22:42.42 ID:???.net (+4,-23,-4)
    最近のバージョンだと、システムのデータベースもInnoDBになるとかなかったっけ
    522 : NAME IS - 2014/04/20(日) 15:14:39.65 ID:???.net (+62,+29,-10)
    >>520
    おうサンキュウ
    それくらいしかメリットないなら面倒くさいし放置しとくわ
    523 : NAME IS - 2014/04/23(水) 00:42:43.69 ID:???.net (+55,+27,-15)
    InnoDBってバックアップ取りにくくていやなんだよな
    524 : NAME IS - 2014/04/23(水) 15:26:30.46 ID:???.net (+10,-17,-11)
    みんなテーブル名は大文字小文字混ぜてる?
    大文字固定? 小文字限定?
    525 : NAME IS - 2014/04/23(水) 18:03:58.61 ID:???.net (+62,+29,-27)
    何も考えずにSELECTしたときのソート順が
    なぜか主キー順になってるんだけど、そういうもの?

    以前は適当というか、順保証なんてなかった気がするけど
    いつのまにかデフォルトソート順が仕様で決まったとかある?
    526 : NAME IS - 2014/04/23(水) 18:20:50.17 ID:???.net (+34,+6,-19)
    主キーが連番で、UPDATEしたことが無いテーブルなんだろ
    527 : NAME IS - 2014/04/23(水) 19:36:45.32 ID:???.net (+46,-15,-22)
    InnoDBでフルテーブルスキャンしたら、主キー順番になるはず
    それはInnoDBが行データをクラスタ化インデックスで保持しているから。
    MyISAMなら、ばらばらになるんじゃないかな
    528 : NAME IS - 2014/04/23(水) 20:58:39.22 ID:???.net (+64,+29,-7)
    >>527
    そういうことね
    InnoDB使うようになって日が浅いから気づかなかったわ
    ありがとう
    529 : NAME IS - 2014/04/23(水) 22:14:24.98 ID:???.net (+88,+29,-31)
    InnoDBの構造上きれいなテーブルなら、上からなめれば主キー順になるだろうけど
    それはたまたまたで「主キー順になることは保証しません」ってことでしょ。
    530 : NAME IS - 2014/04/23(水) 22:47:36.54 ID:???.net (+55,+29,-23)
    まぁ、実務でSELECTする時にORDER BYを付けない
    シチュエーションなんてほとんどないからどうでもいい話しだ
    531 : NAME IS - 2014/04/24(木) 00:06:22.16 ID:???.net (+63,+28,-1)
    >>529
    勘弁してくださいよ
    532 : NAME IS - 2014/04/26(土) 00:44:05.99 ID:???.net (+5,-27,-82)
    事情があり、サーバーマシンのホスト名を変更しました
    mysqlでエラーが出ているので調べたところ、
    pidファイルにサーバー名が使われていました。
    mysql運用中にサーバーマシンのホスト名を変更したため、ファイルが壊れたようです
    バッチバックアップでは修復処理も走らせているのですが、それでも修復できていませんでした
    こういう壊れ方をしたファイルを修復することはできないのでしょうか?
    533 : NAME IS - 2014/04/26(土) 01:46:03.07 ID:???.net (-1,-29,-17)
    古いプロセスをkillしてから
    myisamchk --safe-recover
    したら、エラーなく起動しました
    思わぬトラブルで青ざめました
    535 : NAME IS - 2014/04/29(火) 08:37:28.69 ID:???.net (-9,-27,-1)
    /
    536 : NAME IS - 2014/05/03(土) 15:09:45.20 ID:???.net (+3,-29,-71)
    MySQLモニタ上で

    mysql> ほにゃららこまんど
    '>

    ってなるんですが '> ってどういう時に表示されますか?
    またネットで検索するときに「mysql '>」とか検索しても '> が無視されているような感じで
    今後自力で検索するときにはどうやって検索すればいいでしょうか?
    537 : NAME IS - 2014/05/03(土) 15:22:16.52 ID:???.net (+57,+29,-2)
    ほにゃららこまんどの末尾に;を付けてないから
    538 : NAME IS - 2014/05/03(土) 15:24:09.03 ID:???.net (-1,-29,+0)
    ;ついてます(´・ω;;;;;;;;`)

    ->じゃなくて
    '>
    539 : NAME IS - 2014/05/03(土) 15:57:25.67 ID:???.net (-2,-25,+1)
    select 'ほにゃららこまんど
    540 : NAME IS - 2014/05/03(土) 19:02:19.01 ID:???.net (+36,+18,-3)
    だな
    541 : NAME IS - 2014/05/04(日) 16:24:38.17 ID:???.net (+91,+29,-11)
    主キー って「しゅきー」って読みでいいんでしょうか
    542 : NAME IS - 2014/05/04(日) 16:58:07.86 ID:???.net (+53,+30,-25)
    あるじキー
    ぬしキー
    543 : NAME IS - 2014/05/04(日) 17:05:32.03 ID:???.net (+47,+29,-11)
    だいしゅきぃ
    544 : NAME IS - 2014/05/04(日) 19:54:21.39 ID:???.net (+43,+25,-12)
    だいちらい
    545 : NAME IS - 2014/05/05(月) 11:55:44.80 ID:???.net (+70,+30,+0)
    546 : NAME IS - 2014/05/12(月) 20:57:11.88 ID:???.net (+62,+29,-216)
    どうしても分からないorz
    社内で、情報参照のためにMySQL+PEAR+PHP+Apacheでデータベース作ったんだけど、
    これが好評で社外に公表してはどうか、という話があるんだけど、これってどっかに
    ライセンス料収めないとあかんの? PostgresSQLなら問題ないという話もあるけど。
    WEBブラウドで使うPHPで作ったデータベースのUIが「プログラム」にあたるとすると
    GPL汚染されてアウトなんだろうか。こんなんでデータ公開みたいなことになると
    正直やってけませんが。別に無料で普通に使い続けていいよね?
    547 : NAME IS - 2014/05/12(月) 21:18:11.97 ID:???.net (+3,-29,-127)
    MySQL関連だと下記のことをやっていたら、すべてのプログラムのソースコードを公開する必要がある
    ・MySQLのプログラム自体を改造
    ・PHPからMySQLに接続する際、libmysqlclientを使用している場合(これは可能性があるって話だったかも)

    一つ目は多分していないだろうし、二つ目はPHP5.3以降に組み込まれているmysqlndを使用すれば問題ない。

    普通に使う分には問題無いと思うけど、それでも気になるならMariaDBを検討すればいいんじゃね?
    548 : NAME IS - 2014/05/12(月) 22:05:23.21 ID:???.net (+4,-23,-3)
    え、libmysql 叩いただけでGPL感染するの?
    549 : NAME IS - 2014/05/13(火) 00:05:53.73 ID:???.net (+57,+29,-30)
    インタプリタによるリンクはNG
    動的リンクのみOK

    PHP自体もGPLにしなければいけなくなって
    Mysqlに除外条項が作られたんだよ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について