タグ

mysqlに関するwindishのブックマーク (9)

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
    windish
    windish 2016/08/19
    MySQLを使うなら必ず読んでおきたい記事
  • pt-query-digest | SmartStyle

    pt-query-digest コマンド pt-query-digest [ オプション ] [ ファイル名 ] [ DSN ] 【主なオプション】 ・ –type : どのログを読ませるか。デフォルトは slowlog です。他には binlogtcpdump 等があります・ –group-by : SQLのものと同じです・ –limitSQLのものと同じです 目的 Slowクエリログの集計結果を表示します シナリオ Slowクエリログは、デフォルトでは10秒以上のクエリが記録されるようになっていますが、my.cnf を0秒以上で記録するように変更し、いくつかクエリを実行します my.cnf に追記 記録されたSlowクエリログを pt-query-digest に読み込ませます 結果 実行すると、以下のように標準出力されます ①Slowクエリの統計情報を見ることができます

    pt-query-digest | SmartStyle
    windish
    windish 2016/02/23
    pt-query-digestでクエリログから統計を取る
  • MySQLをコマンドラインから直接実行&出力形式の変更方法 - tkuchikiの日記

    -e を使う。 mysql -u root TABLENAME -e'select id from user where id=1' +----+ | id | +----+ | 1 | +----+ カラム名を表示したくない時、-N を使う。 mysql -u root TABLENAME -N -e'select id from user where id=1' +---+ | 1 | +---+値だけ欲しい時、 -B(と-N)を使う。 ※-B はタブ区切りで出力 mysql -u root TABLENAME -N -B -e'select id from user where id=1' 1複数カラム指定すると、 mysql -u root TABLENAME -N -B -e'select id, created_at from user where id=1' 1 2012-1

    MySQLをコマンドラインから直接実行&出力形式の変更方法 - tkuchikiの日記
    windish
    windish 2015/10/06
    すぐ忘れちゃうやつ
  • mysqldumpの使い方 バックアップ&リストア編 基本の章

    こんにちわ。システムエンジニアのリョータです。 前回は、オプションをずらーっと並べて紹介しました。 mysqldumpの使い方 オプション編 mysqldumpのオプションが多すぎて、どこをどうすればいいのかわかりません。 ということで、今回はもうすこし実用的な形で進めたいと思います。 今回は、テーブルやデータベースをバックアップ&リストアをする、基的な方法をまとめてみました! テーブル まずは、テーブルをバックアップ&リストアする方法です。 1.テーブルのダンプ mysqldump -uroot -p -hlocalhost database_name table_name > filename テーブルの定義とデータをダンプする方法です。 テーブルは、1つだけでなく複数指定することもできます。 mysqldump -uroot -p -hlocalhost database_name

    mysqldumpの使い方 バックアップ&リストア編 基本の章
  • MHA for MySQL の概要 - Gosuke Miyashita

    MHA for MySQL の導入を検討していて、まずは社内の技術者向けに、MHA for MySQL の概要を伝えようと、主に オフィシャルなドキュメント からポイントを抜粋して社内向けの Wiki に書いてみた。当なら、オフィシャルドキュメント全体に目を通してもらうのがいいんだけど、英語なので、はじめの一歩としては敷居が高く感じる人もいるだろう、ということで。 特に外に出してまずい情報があるわけでもないので、このブログでも曝しておきます。 MHA の概要 MySQL エキスパートとして世界的にも著名な松信嘉範氏による、MySQL マスターの HA 化を行うためのツール。Perl 製。 最小限のダウンタイムで、データの不整合を防ぎつつ、マスターのフェイルオーバーを行う、というのが主な機能。 また、既に動作している MySQL に影響を与えることなく導入できる。 機能は大きくわけると以下

    windish
    windish 2015/07/16
    "最小限のダウンタイムで、データの不整合を防ぎつつ、マスターのフェイルオーバーを行う"
  • ALTER TABLEを上手に使いこなそう。

    テーブル定義を変更したい。インデックスが壊れてしまったので再作成したい。そんな場合はALTER TABLEを使う。ALTER TABLEはテーブル定義を変更するお馴染みのコマンドであるが、その挙動は意外と知られていない。(エキスパートとおぼしき方々からも度々質問を受ける。)そんなわけで、今日はALTER TABLEについて解説しようと思う。 まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。なんて無駄なことを!?と思うかも知れないが、テーブル定義(スキーマ)の変更を動的に行うには、ストレージエンジンによるサポートが必要であり、動的なスキーマ変更をサポートしているストレージエンジンはまだ少ないのである。(動的スキーマ変更をサポートしているのはMySQL Clusterぐらいだ。しかも追加だけ。)デフォルトで利用出来るMyISAMはInn

    ALTER TABLEを上手に使いこなそう。
  • 急いでいる人のためのMySQLのユーザ権限付与講座 - sanonosa システム管理コラム集

    MySQLでは細かいレベルの権限付与が可能ですが、大抵の場合そこまで細かいレベルの権限付与は必要ないですよね? マニュアルを読まないか、もしくはちょっとしたメモ書きを見る程度でおおよそ使い方が理解できるくらいならいいのに、といつも思います。 そこで今回は、MySQLのユーザ権限付与の中でも、とりわけよく行われる手順だけを簡単にまとめてみました。 【まず知っておいたほうが良いこと】 ユーザはmysqlデータベース内のuserテーブルに作られます。 次に例えば以下のユーザの情報を見てみると「_priv」系のカラム値が全部「Y」であることがわかります。この場合はグローバルレベル権限として全部「Y」なので、全てのテーブルに対して接続が可能となります。 mysql> select * from user where User='adminuser' \G **********************

    急いでいる人のためのMySQLのユーザ権限付与講座 - sanonosa システム管理コラム集
  • MAMP & MAMP PRO - your local web development solution for PHP and WordPress development

    MAMP PRO for Windows MAMP PRO is the commercial, professional frontend for the classic local server environment: MAMP. With MAMP PRO you can create a separate host for each of your web projects. You can install WordPress and other Extras like Joomla or Drupal with just a few clicks. This is just a small part of what you can do with MAMP PRO. Buy MAMP PRO for Windows MAMP for Windows MAMP is a free

    MAMP & MAMP PRO - your local web development solution for PHP and WordPress development
    windish
    windish 2013/01/10
    XAMPPのMac版みたいな感じ?
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: B.3.2.7 MySQL サーバーが存在しなくなりました

    クライアントはサーバーに書き込むときにエラーを受け取りませんでしたが、問い合わせに対する完全な応答 (または何らかの応答) が得られませんでした。 デフォルトでは、何も発生しなかった場合、サーバーは 8 時間後に接続を閉じます。 この時間制限を変更するには、mysqld を起動するときに wait_timeout 変数を設定します。 セクション5.1.8「サーバーシステム変数」を参照してください。 スクリプトがある場合、クライアントが自動再接続を行うには、クエリーを再発行する必要があるだけです。 これは、クライアントの自動再接続を有効にしている (mysql コマンド行クライアントのデフォルト) ことが前提です。 「MySQL サーバーが存在しなくなりました」というエラーのほかの一般的な原因を次に示します。 ユーザー (またはデータベース管理者) が実行中のスレッドを KILL ステートメ

    windish
    windish 2010/12/02
    "スクリプトがある場合は、クライアントが自動再接続を実行するためのクエリを再発行するだけで解決します。 " ふんふん。
  • 1