miyabihitoの日記

個人的な技術メモ

MySQL

概要

2015.1.11時点でのGAリリースの5.6.22に関して。

起動・停止

MacPortsMacへインストールした場合の起動・停止コマンド

  • 起動

    sudo /opt/local/lib/mysql56/bin/mysqld_safe --user=_mysql &
    
  • 停止

    sudo /opt/local/lib/mysql56/bin/mysqladmin -uroot shutdown
    

各種コマンド

mysqld

MySQLサーバ本体

  • 設定グループ
    • mysqld
  • オプション
    • basedir
    • datadir
    • port
    • socket
    • pid-file
    • user
    • skip-networking
    • sql-mode
    • max-connections
    • query-cache-size
    • table-cache
    • tmp-table-size
    • thread-cache-size
  • innoDB設定オプション

mysql_install_db

データベース(データベースディレクトリ)の初期化
MySQLのインストール直後に実行する。

mysqladmin

MySQLサーバの管理コマンド

  • 設定グループ

    • mysqladmin
    • client
  • オプション

    特記なし

  • コマンド

    • ping

      死活確認

    • password

      パスワードの変更

    • shutdown

      MySQLサーバのシャットダウン

mysql_secure_installation

インストール直後の、緩い権限管理状況を修正するスクリプト

mysqld_safe

MySQLサーバの起動

  • 設定グループ
    • mysqld_safe
  • オプション
    • --open-files-limit

    ulimit -n の値
    同時接続数に関わる。

mysqlコマンド

クライアントコマンド

  • 設定グループ
  • オプション

    • --show-warnings

      Warningの内容を毎回表示する。
      「SHOW WARNINGS」を、都度実行する必要がなくなる。

    • -N

      SELECTの結果で、カラム名を出力しない。
      ファイルへのダンプ時に使える。

  • 対話モード中のコマンド

    • help: ヘルプ表示(引数にSQLも指定できる)
    • \c: 入力中の文のキャンセル
    • \G: SELECT文の行末に入力すると、縦表示になる。
    • tee: 入出力をファイルにも記録する(作業ログを取るのに使えるかも)

mysqldump

データ型

SERIAL

下記のエイリアス
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE

関数

VERSION()

NOW()

GUIクライアント

MySQL Workbench

データモデリング(ER図作成等)・SQL開発・サーバ設定・ユーザ管理等を統合的に行えるツール

ダウンロードページの「No thanks, just start my download.」から
アカウントを作らずにダウンロードできることに、
アカウントを作ってから気づいた。。。

Sequel Pro

Workbenchに対する利点は、日本語化されている点くらいか。
データの修正が即時反映なので、ちょっと怖い。

フォーク

MariaDB

MySQLのオリジナル作者らがフォークして、開発を始めたプロダクト。
コミュニティベースでオープンに開発が進められている。