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

    私的良スレ書庫

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

    元スレMySQL 総合 Part13

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 1064 + - limit + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    801 : 796 - 2008/05/18(日) 11:08:49 ID:??? (+4,-30,-141)
    mysql_install_dbが権限テーブル作成に失敗していました。
    (データベース「MySQL」のusr.MYDファイルを開いてみたら空だった)

    原因は/tmpにアクセスする際の
    パーミション問題(PCLinuxOSのディストリ的な影響)だったので


    TMPDIR=/tmp/
    MYSQL_UNIX_PORT=/tmp/mysqld.sock
    export TMPDIR MYSQL_UNIX_PORT

    という形で環境変数を変更してmysql_install_dbを実行したら問題なく動作しました。

    >>797-798
    ありがとうございました。助かりました。
    802 : NAME IS - 2008/05/19(月) 00:30:52 ID:??? (+3,-30,-122)
    long_query_timeについて質問です。

    現在DBI経由で、perlなどからSQL実行していますが
    この時 long_query_timeに引っかかったクエリーは
    エラーなり、補足捕捉情報かなにかを返すのでしょうか?
    またこの時、viewは正しく返ってこない、と考えて良いのでしょうか?
    MySQLバージョンは、4.0/4.1/5.0になります。
    804 : NAME IS - 2008/05/19(月) 14:48:36 ID:??? (-2,-30,-43)
    質問です。
    MySQLのソースインストールのconfigureで「--with-readline」オプションがありますが、
    この設定はmy.cnf上で後から変更可能でしょうか?
    805 : NAME IS - 2008/05/20(火) 07:40:10 ID:??? (+68,+27,-5)
    >>782
    GPLと相容れないプログラムとリンクできない
    807 : NAME IS - 2008/05/20(火) 21:51:22 ID:??? (+63,+21,-35)
    HEAPテーブルについて、マニュアルには「クライアント間で共有できる」
    とありますが、接続毎に隔離されたHEAPテーブルは作れないでしょうか?
    バージョン4.1です。
    810 : NAME IS - 2008/05/21(水) 00:06:16 ID:??? (+9,-29,-18)
    >>807
    接続が切れたときに消えてなくなってもいいのであれば、temporary テーブル。
    811 : NAME IS - 2008/05/21(水) 00:07:10 ID:??? (+21,-14,-16)
    >>809
    それ、mysql> プロンプトからやってないか?
    812 : NAME IS - 2008/05/21(水) 00:08:42 ID:??? (-11,-29,-43)
    >>808
    falseはSQLの実行エラーの場合です。
    updateがあったかは、たしか 影響を受けた行数を取得する
    関数があったと思うので実行後にそれを使ってください。
    813 : NAME IS - 2008/05/21(水) 00:33:26 ID:O5tzPctu (+86,+27,-4)
    >>811
    コマンドプロンプトからやってますが何か?
    814 : NAME IS - 2008/05/21(水) 00:53:14 ID:??? (+13,-30,-197)
    MYSQLを導入したんだけどPHPから接続できないですけどどうしてでしょうか?
    MYSQLの設定を済ませて
    PHP5のphp.iniの設定では
    絵xtension=php_mysql.dllのところを;はずしました。
    MySQLの動作もちゃんとしてます。
    ですが、
    <?php
    phpinfo()
    ?>
    上で確認したところMySQLの表示してないです。
    mySQLのインストールはこちらのURLを参考にしました。
    ?http://vine.1-max.net/MySQL.html?
    こちらには、php5-mysqlが乗ってなかったので追加して
    インストールしました。
    どこが悪いのでしょうか?


    以下がバーションになります。
    LINUX:vinelinux3.2
    apache:1.3 場所:/etc/httpd/
    php5:5.2 /etc/php5/
    MYSQL:4.0 /usr/share/mysql/
    815 : 814 - 2008/05/21(水) 02:02:33 ID:??? (+38,+15,+0)
    自己解決しました。
    816 : 807 - 2008/05/21(水) 02:50:01 ID:??? (+0,-29,-15)
    >>810
    早速有難う御座います。 temporary テーブルでやってみようと思います。
    817 : NAME IS - 2008/05/21(水) 02:54:27 ID:??? (+62,+29,-60)
    MySQL 5.0.51a Linux版です。
    全テーブルに更新時刻と挿入時刻カラムをつけ、
    beforeトリガーでこれらを更新しようと考えていますが、
    オーバーヘッドはどんなものでしょうか?
    用途は中小規模のグループウェアみたいなものです。
    もしオーバーヘッドが大きいならtimestampで更新時刻だけ
    記録することも考えるのですが、挿入時刻もあった方がいいようなのです。

    MySQLで設計するのは初めてで感覚がわからないので、
    なんとなくで結構ですので助言をお願いします。
    818 : NAME IS - 2008/05/21(水) 13:12:17 ID:2ndXeLqA (+30,+29,-3)
    >>813
    何お前
    ずいぶんと偉そうだな
    819 : NAME IS - 2008/05/21(水) 15:25:29 ID:??? (+67,+29,-4)
    >>813
    理解できるようになってから出直せ
    820 : 0 - 2008/05/21(水) 22:05:35 ID:hrtOIMUi (+17,+27,-3)
    出来ましたが何か?
    822 : NAME IS - 2008/05/22(木) 00:05:25 ID:??? (+20,-22,+1)
    >>821
    limit
    823 : NAME IS - 2008/05/22(木) 00:18:02 ID:??? (+19,-29,-4)
    >>821
    mysql> pager less
    825 : NAME IS - 2008/05/22(木) 00:37:04 ID:??? (+30,-29,-13)
    cidrとip表記をごっちゃにしている時点でどうかと思うが、
    phpがトリガならmod_geoipでも使ったらどうか?
    826 : 821 - 2008/05/22(木) 01:08:34 ID:??? (+52,+20,+0)
    >>822 >>823 解決しました。ありがとうございます!!
    827 : 824 - 2008/05/22(木) 01:09:18 ID:??? (+60,+27,-16)
    >>825
    レス有り難う御座います。
    早速調べてみます。
    828 : NAME IS - 2008/05/22(木) 01:18:09 ID:??? (-2,-29,-87)
    >>824
    MySQLのみでうちがやるなら、IPはINET_ATON()で整数保管。
    マスクは別フィールドに保管。
    比較の際は、IPの整数をマスクサイズでビット演算して比較。

    現状のテーブルのままやるのなら、文字列だからMySQLの
    正規表現関数を使うのが速度的にも妥当では。
    829 : NAME IS - 2008/05/22(木) 02:19:27 ID:??? (+1,-26,-34)
    みんな文字化け回避するためにカラムごとに文字コード設定してるの?
    830 : NAME IS - 2008/05/22(木) 08:19:01 ID:??? (+63,+30,+0)

    http://mainichi.jp/enta/geinou/graph/200805/21/?inb=yt
    ネット証券会社が主催するFX(外国為替証拠金)取引コンテストの発表会が21日、都内で行われた。
    コンテストに特別参加するグラビアアイドルの滝沢乃南さん、山本彩乃さん、折原みかさん、山口愛実さん、佐々木梨絵さん
    の5人が顔をそろえ、シストレに挑戦する意気込みなどを語った。
    同コンテストは、自分で作成したトレードソフトの機能を評価する「シストレソフト部門」と、
    FX初心者でも安心の仮想マネーを使った取引を体験できる「トレード部門」で賞金総額2000万円を争う。
    シストレ優秀ソフトは、最高2000万円までの範囲内で買い取りの可能性もあるという。登録受付は22日から。
    仮想取引は6月2日~09年4月30日までとなっている。



    ▼トレード部門
    初期資産500万円で、デモ取引のトレード収益を競っていただきます。
    http://www.click-sec.com/corp/guide/demo/
    http://www.fx-gp.com/about/

    ▼賞金総額
    ■社長特別賞(シストレソフト買取価格) 10,000,000円
    ●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
    ●トレード部門賞 1位300万円 2位100万円 3位50万円
    ●前期MVP賞 50万円
    ●後期MVP賞 50万円
    831 : NAME IS - 2008/05/22(木) 12:15:32 ID:??? (-6,-29,-11)
    >>824 >>828

    PHP側でIPのチェックしたいならPrarのNet_IPv4
    http://pear.php.net/manual/ja/package.networking.net-ipv4.php
    832 : NAME IS - 2008/05/22(木) 12:26:36 ID:??? (-6,-29,-13)
    PrarじゃなくてPearでした。
    833 : NAME IS - 2008/05/22(木) 19:08:36 ID:??? (+70,-30,-116)
    varchar (n)の使用バイト数はn+1とのことですが、それなら
    本来は100文字までのデータしか入力しないカラムでも
    varchar(255)とtinytextの限界で作成しておいて、
    アプリ側の入力チェックで100文字制限をするという方針はありでしょうか?

    制限を100文字以上に拡張したくなったとき、アプリ側のチェックだけ直して
    テーブルは変更する必要がなくていいのではないかと思うのですが。
    834 : NAME IS - 2008/05/22(木) 21:54:45 ID:??? (+95,+16,-29)
    >>833の便乗質問ですが各データ型で使用するバイト長ってどこでわかりますか?
    835 : NAME IS - 2008/05/23(金) 01:26:43 ID:??? (+106,+29,-53)
    >>834
    http://dev.mysql.com/doc/refman/5.1/ja/storage-requirements.html

    >>833
    別に自分のしたいようにすればいいんでね?(自分にとって、管理しやすいほう、扱いやすいほうで)
    ただ、fixed formatでテーブル作成してるんなら、discには実際使ってない部分の領域も書き込まれるけどね。
    836 : 834 - 2008/05/23(金) 01:41:31 ID:??? (+66,+23,+0)
    >>835
    ありがとうございます!助かりました
    838 : NAME IS - 2008/05/24(土) 02:02:00 ID:??? (+3,-29,-180)
    搭載物理メモリ48Gのサーバーで、大きな単一テーブル(80G程度)を上手く扱う方法って無いですか?
    (そのテーブル対して、更新&参照&集計が頻繁に発生すします。)

    my.conf-hugeを元にいろいろチューニングを試してみたんですが、
    io-waitが100%に刺さったまま、ハングしたようになり困っています。

    開発当初はoracle案件で、ありきたりのチューニングだけで、問題なく動作していたのですが、
    クライアントの方針変更で、急にMySQLで開発することになり、非常に難儀しています。
    (ちなみに案件規模は、楽天クラスの商品在庫管理です。)
    839 : NAME IS - 2008/05/24(土) 02:15:08 ID:/LSToqrf (+64,+29,-32)
    その規模になると、MySQLでは、どうやっても無理。パフォーマンスや安定性の面でもお薦めしない。
    クラに泣き付いてでも、オラクルに戻してもらえ。
    840 : NAME IS - 2008/05/24(土) 02:20:15 ID:??? (+57,+29,-32)
    単一tblって時点で何だかな~…
    大規模すぎてMySQLの範疇じゃないだろ
    841 : NAME IS - 2008/05/24(土) 02:36:57 ID:??? (+108,+29,-82)
    >>839-840
    ありがとうございます。でも、それは無理っぽいです。

    クライアントのライバル会社が全社的にOpenOfficeを採用したとかで、新聞に載ったらしく、
    クライアントの経営トップがそれに対抗して、バックエンドにオープンソース採用の方針を
    打ち出したいらしく、私が土下座するくらいでは受け入れられそうにも無いです。
    842 : NAME IS - 2008/05/24(土) 02:49:35 ID:/LSToqrf (+27,+29,-29)
    かなり痛いトップだな。
    コッド博士クラスの優秀なDB開発者を雇ってMySQLを改造してもらえ。
    843 : NAME IS - 2008/05/24(土) 03:34:26 ID:VAruVHOx (+22,+29,-18)
    バカ相手してても身体壊すだけだから辞めちゃえw
    844 : NAME IS - 2008/05/24(土) 03:39:53 ID:??? (+179,+30,+0)
    >>841
    土下座て。
    やるだけの事はやってちゃんと検証データとボトルネック、仕組み的に無理ですって事を踏まえた上で
    それでもなんとかしろと言うならやりますが、紆余曲折、最悪こういう想定事態になりますが
    よろしいですか?ってクライアントと折衝する人に言ってもらえばどうでしょうか。
    自分の仕事は最低限筋の通った理屈を報告して折衝担当者に理解してもらうこと。
    もちろん前向きにね。
    自分の仕事を理解し、精一杯やるだけやってしっかりとこなした上で無理難題言う上司や客に必要以上の負担を強いられる道理はないでしょ?
    ただその事を丁寧にビジネス用語で当たり障り無く表現して相手に理解、納得してもらうよう「伝える」努力は必要ですけど。

    私もそこまでのデータの運用経験はないけど、微力ながら言わせてもらうと
    ■ハード面
    ・SASでRAID0+1 ファイバーチャネル使えるならそれに越したことはないけど。
    => ディスクの読み込み速度が上がって結果的にMySQLの更新・参照・集計早くなります。
    => バックアップできます。三世代管理くらいまではしたほうが幸せになれるかも。
    => RAIDはライトキャッシュとBBUのついているものを使用 なるべくキャッシュは多い方がいいです。
    2GとかつけれるのもあるけどRAIDカード選びは慎重にね。
    ディスクはシークタイムがあるから10000rpmのもので秒間16コミットしかできない
    ライトキャッシュ積むといっぱいコミットできます

    ・レプリケーション
    => レプリケーションしているとは思うけど、なんとなくしてなさそうな節があるのでやって見て下さい。
    スレーブサーバに参照を掛けるとスレーブの台数分だけ参照はバンバン早くなります。
    ただし、マスターと完全同期ではないので入金処理等精度の必要な部分はマスターを使って下さい。
    アプリケーション側でのスレーブ参照制御が面倒なら間にLVSでもなんでもいいからロードバランサー仕込むと吉

    ・memcacheサーバ
    => 80G程度ならサーバ10台以内で構築できると思う
    更新はライトスルーでMySQLにも書いて単純参照はmemcacheからすると涙でるほど早い。
    但しきちんと両方更新されたか確認、制御する仕組みは必要。

    ソフト面に続く
    845 : NAME IS - 2008/05/24(土) 04:32:39 ID:??? (+3,-30,+0)
    ■ソフト面
    ・設計の見直し
    => 詳細知らないので絶対とは言えませんが、MySQL用にテーブル設計、運用設計見直した方がいいと思います。
    単一テーブル80Gは異常に思えます。
    同一テーブルを複数作って分割・分散したり非正規化してみたり。
    内部の詳しい人に相談して下さい。詳細知らないと設計はできません。

    ・インデックスの見直し
    => 当然ですがインデックスの付け方と発行クエリでMySQLの速度は1000倍違うこともあります。
    複合インデックス、プライマリ、単一ユニーク、複合ユニーク気を付けながらexplainしてチューニング。

    ・クエリの見直し
    => これもexplainしながらチューニング 色々調べてみてください。
    => 拡張インサート、INSERT IGNORE等を使うと便利な局面もあるかもしれません。
    => 集計は、トリガを使ってインサート時に集計値をインクリメントしたりすると負荷がさけれます。
    => DELETEは実行コストが高いので、削除フラグを付けて対応する。一日一回纏めてDELETE処理する等

    ・MyISAM、InnoDB
    => 参照はMyISAM、更新はInnoDB。
    ライトスルー、レプリケーションと合わせて使えばパフォーマンス全然違います。
    MyISAMはライトロックが有効かもしれません。デッドロックに気をつけて。

    ・コンパイル
    => MySQLはソースからICCでコンパイル。速いっす。

    ・文字コード
    => できればUTF-8。一番苦労しなくて済みます。MySQLの内部コードもUTF-8。

    ・チューニング
    => ケースバイケースなんでなんとも言えませんが
    tmp_table_size
    max_heap_table_size
    は同じ値にしないとダメですよー
    query_cacheをしてみてください
    禁断のチューニング
    innodb_support_xa = OFF
    innodb_flush_method = O_DIRECT
    sync_binlog = 0
    innodb_flush_log_at_trx_commit = 2
    innodbを使用している場合上記設定だとディスクIOがガンガン減るので更新負荷がガクンと下がります。
    ただし、データの保存性は最悪。
    予期せぬマシンダウンがあれば復旧できない場合もあります。

    ・専門のコンサル
    => 実現までの早さと質が必要ならMySQLに習熟してる会社にコンサル依頼するのが一番早いような気が・・・
    KLABさんにでも頼んでみたら?とふと思いました。
    私も規模が大きくなるに連れて運用に悩まされ、夢の中のトイレで自分のションベンの放物線を眺めている時でさえMySQLの事を
    考えていた時期が三ヶ月ほどありました。
    データもいっぱい壊しました。いっぱい怒られました。あぁ思い出したらトイレに行きたくなってきたのでこれくらいで。
    846 : NAME IS - 2008/05/24(土) 04:38:50 ID:??? (+12,-15,-22)
    追記:あっSUNが買収してオープンソースでなくなるんじゃなかったっけ?
    847 : NAME IS - 2008/05/24(土) 08:15:30 ID:??? (+72,+29,-6)
    >>844-846
    実例を入れて膨らませて、本にしてくれませんか。絶対買います。
    848 : NAME IS - 2008/05/24(土) 08:50:47 ID:??? (-6,-29,-3)
    ( ;∀;) イイハナシダナー
    849 : NAME IS - 2008/05/24(土) 13:53:59 ID:??? (+77,+29,-1)
    >>844
    ありがとう、めっさ参考になった。
    850 : NAME IS - 2008/05/24(土) 20:05:43 ID:??? (+81,+29,-17)
    >>844-845
    ちょっと、ブログかなんかに書いておくれよ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 1064 + - limit + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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