MySQLの使い方メモ
提供: Astarisk Works Wiki
このページはGUIツールなど使わず、コマンドラインでMySQLを管理するときのメモです。
目次 |
mysqlコマンドによる接続
パスワードをきちんと設定している場合、-pオプションをつける。
mysql -p
DB管理
データベース一覧の参照
mysqlコマンドでmysqlのシェルに入って次のコマンドを実行する。
mysql>show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.00 sec)
データベースの作成と削除
mysqlクライアントに入り、次のコマンドを実行する
mysql> CREAETE DATABASE データベース名;
なおCREAETE DATABASEは小文字でもかまわない
また、mysqladminを使って作成する方法もある。この場合はOSのシェルから直接次のコマンドを実行する
>mysqladmin create データベース名
ユーザ管理
ユーザ一覧の参照
mysqlクライアントで次のコマンドを実行する。
mysql> select User, Host FROM mysql.user; +-----------+---------------------------+ | User | Host | +-----------+---------------------------+ | root | 127.0.0.1 | | | localhost | +-----------+---------------------------+ 2 rows in set (0.00 sec)
ユーザの追加
mysqlクライアントで次のコマンドを実行する
mysql> GRANT アクセス権限 ON データベース名.テーブル名 TO ユーザ名@'接続元' IDENTIFIED BY 'パスワード';
各パラメータの説明は次のとおり
- アクセス権限
- データベース名.テーブル名で指定するリソースにアクセスする際の権限を指定する。
- すべての権限を与える際にはALLを指定する
- データベース名.テーブル名
- 登録するユーザにアクセス権限を与えるデータベースとその中のテーブルを定義する。
- すべてのオブジェクトにアクセスさせる場合は*を指定する
- ユーザ名
- 追加するユーザ名を指定する
- 接続元
- 追加するユーザが指定したデータベースにアクセスする際の接続もとのアドレスを指定する。
- IPアドレスかDNSに登録された名前で指定する。
- ワイルドカードは%で指定する。たとえば192.168.1.0/24のネットワークのどの端末からもアクセスを許可する場合は192.168.1.%と指定する
例
- 例)sample_dbのすべてのテーブルにローカルホストから全権限でアクセスできるユーザhogeを追加する場合
mysql> GRANT ALL ON sample_db.* TO hoge@'localhost' IDENTIFIED BY 'hoge_password';
ネットワーク設定
localhost以外からアクセスする場合にはmy.cnfのbind-addressで待ち受けアドレスを指定する。どのアドレスでも接続を許可する場合にはコメントアウトする。
メンテナンス
バックアップ
ここではmysqldumpを用いたダンプを説明する。
>mysqldump -F -l データベース名 > 出力ファイル名
-Fオプションはダンプ前にすべてログをフラッシュし、-l オプションはデータベース毎にロックをかけてからダンプする。