2014年6月3日火曜日

MySQLクックブック

0. コネクション
  1. MySQLでtoo many connectionsエラーが発生した際の対処方法
  2. MySQL DBのコネクション数の確認とか
  3. MySQL、「too many connections」エラーを解消する
  4. MySQLで「Too many connections」のエラー
1. コメント構文

2. MySQLクイック・リファレンス

3. MySQL C API

4. 外部キー
  1. FOREIGN KEY 制約
  2. 外部キー制約を活用する 
  3. 外部キー制約(FOREIGN KEY) 
  4. MySQL #1452 – Cannot add or update a child row: a foreign key constraint fails
5. カラムの名前と定義の変更

6. MySQL SQLファイル(スクリプト)の実行

7.  コメントを含めてテーブルを作成する

8. カラムの追加と削除

9. Federated
  1. Federatedテーブルの作成(リモートDB上のテーブルとの同期)
  2. MySQLのFEDERATEDストレージエンジンを利用する 

10.  トリガ
  1. トリガの作成
  2. MySQLでトリガ使って別テーブルに自動でコピる
  3. MySQL トリガの作成、確認、削除
  4. MySQL のトリガで mruby を実行する
  5. MySQL で UDF を定義しよう
  6. MySQL 5.7でやっと(?)1テーブル複数トリガーが仕掛けられるようになった 
  7. トリガに関する情報の取得 
11. MySQLの運用で役立つコマンド集(統計情報更新など)

12. MySQLからMariaDBへの移行作業メモ

13.MySQLのバックアップリストア
  1. バックアップ&復元 
  2. 5.1.8以降Warning発生 
  3. optオプションの意味
  4. ダンプファイルから任意のテーブルのみリストアする
  5. MySQLのバックアップ運用について色々
  6. XtraBackupを使ってMySQLをバックアップしよう
  7. MySQLマニュアル データベースサーバーのバックアップ
  8. MySQLのバックアップツール比較
  9. データのインポート・エクスポート ファイル読込
  10. LOAD DATA INFILE構文のキーワード
  11. MySQLでデータをエクスポートする(テーブル指定) 
14. ユーザとDB作成

15. InnoDBについて
  1. mysqlでInnoDBが使えない件
  2. InnoDB Pluginことはじめ。快適ストレージエンジン生活はじまる!
  3. デフォルトストレージエンジンの設定
  4. MySQL InnoDBを無効にする
  5. MySQLの「InnoDB」と「MyISAM」についての易しめな違い 
  6. MySQLでテーブル毎に設定されているストレージエンジンを確認する方法
16. MySQL複数プロセス起動
  1. 複数MySQLのセットアップ備忘メモ
  2. MySQLプロセスを一台のサーバで複数起動
  3. MySQLで外部から接続するときにチェックする項目 
  4. mysqld_multiの設定方法 
  5. MySQLサーバ複数起動メモ
  6. mysql_multi「を・・使わない」で同一サーバ内に複数インスタンスを立ち上げる方法
17. MySQLの照合順序

18. 文字コード関連
  1. データベースの文字コードを調べる
  2. 文字コードの設定(文字コードの扱い方の説明もあり)
  3. MySQLでcharacter_set_databaseがlatin1になってしまう問題の対応方法
  4. テーブルの文字コードを調べる
  5. MySQL で utf8 と utf8mb4 の混在で起きること 
19. MySQLで特定のカラムを持つテーブルを検索する

20. 誰も教えてくれなかったMySQLの障害解析方法

21. MySQLに真偽値を格納する場合はbit(1)型のフィールドが最適

22. あいまい検索(パターンマッチングで比較)

23. セキュアな接続のための SSL の使用

24. MySQLサーバーのバージョン確認方法

25. MySQLで他のサーバからのアクセスを許可する

26. SSHのポートフォワーディングでMySQLに接続する方法

27. 限界までMySQLを使い尽くす!!

28. 整数型

29. 複合キーを単一キーに変更する場合のSQL文

30. 予約語と同じテーブル名はバッククォートで囲む

31. キャスト関数と演算子(型変換)

32.  レプリケーション
  1. レプリケーションの機能と問題
  2. MySQLマルチマスタ構成キー重複を避けるには
33. 「every derived table must have its own alias」というエラーが表示される

33. テーブル定義を取得する方法

34. 外部キー貼り直し手順メモ

35. 後からユニークインデックスを追加するには

36. SELECT文でcsv出力
  1. SELECT文でcsvを出力する
  2. CSVでエクスポート(テーブル単位 or クエリの結果を丸ごと)
  3. MySQLでコマンドから直接クエリを実行し、CSVファイルに保存する 
37. ログ
  1. ログの種類とログの仕方を調べてみた(実施例)
  2. スロークエリログで問題のクエリをあぶり出す
  3. MySQLのログファイル ログの種類と保存先
38. MySQLパフォーマンスチューニングのためのインデックスの基礎知識

39. MySQL の warnings をすぐに表示させる方法

40. MySQL の同時接続数 (max_connections) の変更

41. 欠番

42. show profileでフェーズごとの実行時間を見る

43. MySQLのポート番号を調べる

44. Linux(CentOS)のMySQLへ外部接続する

46. lockの確認とプロセスの削除

47. InnoDBで行ロック/テーブルロックになる条件を調べた 

48. テーブル毎に設定されているストレージエンジンを確認する方法

49. テーブルのロック

50. 外部キーやユニークキーなどが貼られているか確認 show create table

51. データ型と最小値/最大値

52. データベースを初期化する

53. SQL 問い合わせ結果を垂直に表示する

54. 親テーブルの更新/削除の時の挙動

55. 外部キー作成時、外部キー名の注意点
     以下のようにCONSTRAINTをつけてかつ、名称を指定しないと、自動で名前が設定される。
   かつ、KEYには、名称が付与されず、KEYのみの除去が出来なくなるため注意。
     <SQL例>
     ALTER TABLE xxxx ADD CONSTRAINT FK_xxxx_01 FOREIGN KEY(aaa,bbb) REFERENCES t_m_site(aaa,bbb) ON UPDATE CASCADE ON DELETE CASCADE;
     <上記SQLで外部キーを追加した場合のshow create table結果>
      CREATE TABLE `xxxx` (
        `aaa` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000' COMMENT '会社ID',
        `bbb` varchar(32) NOT NULL COMMENT 'サーバー名',
        `cccc` mediumint(9) NOT NULL DEFAULT '0' COMMENT 'グループNO',
        PRIMARY KEY (`company_id`,`svname`,`group_no`),
        KEY `FK_xxxx_01` (`svname`,`company_id`),
        CONSTRAINT `FK_xxxx_01` FOREIGN KEY (`aaa`, `bbb`) REFERENCES `t_m_site` (`aaa`, `bbb`) ON DELETE CASCADE ON UPDATE CASCADE
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8
     <CONSTRAINTなし、名称未指定の場合のshow create table結果>
      CREATE TABLE `xxxx` (
        `aaa` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000' COMMENT '会社ID',
        `bbb` varchar(32) NOT NULL COMMENT 'サーバー名',
        `cccc` mediumint(9) NOT NULL DEFAULT '0' COMMENT 'グループNO',
        PRIMARY KEY (`company_id`,`svname`,`group_no`),
        KEY (`svname`,`company_id`),
        CONSTRAINT `FK_xxxx_xxx_01` FOREIGN KEY (`aaa`, `bbb`) REFERENCES `t_m_site` (`aaa`, `bbb`) ON DELETE CASCADE ON UPDATE CASCADE
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8

56. MySQLのデータベースの容量を調べる

57. MySQL ibdata1が肥大化する理由(記事の意訳)

58. InnoDBデータファイルのサイズを変更するには(自動拡張時の拡張サイズを参考にした)

59. ユーザー権限
  1. 権限の種類と設定されている権限の確認
  2. MySQLユーザの追加
  3. MySQLのユーザー一覧を確認
  4. パスワードの設定 
  5. [MySQL]権限の確認と付与
  6. MySQLに外部ホストから接続できるように設定する
  7. MySQL の権限のコマンドまとめ。
  8. ユーザーの削除
60. MySQLのコマンド履歴を見る方法

61. 日時
  1. 日付データへの変換
  2. 日時の計算(加算・減算) 
  3. 日付関数、システム日付、切捨、日付差、日付加算、書式 

62. PostgreSQLとMySQLはどちらかに明確な優位性がありますか?

63. MySQLでレコードに登録された文字列を置換する

64. 取得するデータの数と開始位置を指定

65. サブクエリ
  1. MySQL | エラー対策 | Every derived table must have its own alias
66. [MySQL] 激重の原因はDNS逆引きでした

67. MySQLで、シェルスクリプトからバッチ処理でSQLを実行する方法

68. MySQLでの正規表現

69. LIKEフィルタに対するインデックス

70. AUTO_INCREMENT
  1. 従来の InnoDB の自動インクリメントロック
  2. 言っておくけど、AuroraクラスターでAUTO_INCREMENTのカウンタが同期されないのはバグじゃないからな
  3. 【mysql】auto_incrementの値を確認、変更。からの、0(ゼロ)入れたり歯抜け直してみたり

0 件のコメント:

コメントを投稿