- 追加された行はこの色です。
- 削除された行はこの色です。
*MySQL 操作Tips [#g033249a]
#contents
**データベースの作成 [#s51dfabe]
mysql> create database [DATABASE NAME];
**データベースの削除 [#w283a78e]
mysql> drop database [DATABASE NAME];
**ユーザ作成(接続元無制限) [#qac4c517]
mysql> GRANT ALL PRIVILEGES ON [DATABASE].* TO [USER]@'%' IDENTIFIED BY '[PASSWORD]';
**ユーザ削除 [#v8d7a4e0]
mysql> DELETE FROM mysql.user WHERE user='[USER]' and host='[HOST]';
mysql> FLUSH PRIVILEGES;
**パスワード変更 [#o348ae66]
mysql> SET PASSWORD FOR [USER]@[HOST]=PASSWORD('[PASSWORD]');
**grantコマンドの引数 [#k6e71ac4]
Ggrant all privileges on [DATABASE].* to [USER]@[HOST] identified by '[PASSWORD]';
**rootユーザにフルアクセス権限を付与する [#y24c7675]
mysql> GRANT all privileges ON *.* TO root with grant option;
**databaseを表示 [#e682d5dc]
mysql> show databases;
**ユーザ・ホスト一覧を表示 [#m97e9c3c]
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select Host,User from user;
**テーブルの破棄 [#a2063d8b]
mysql> drop table [TABLE NAME];
テーブルをまとめて破棄する場合は下記の様なリストファイルを作成し、リダイレクトでリストを読み込んで一括削除する。
-リスト(droptable.sql)
drop table [TABLE 1];
drop table [TABLE 2];
drop table [TABLE 3];
drop table [TABLE 4];
-実行
mysql -u [USER NAME] -p -h [HOST NAME] [DATABASE NAME] < droptable.sql
**データベースのダンプ作成 [#k51d940c]
mysqldump -u [USER] --password=[PASSWORD] [DATABASE NAME] > [出力先ファイル名]
**ダンプファイルのリストア [#fd793267]
mysql -u[USER] -p[PASSWORD] [DATABASE] < ダンプしたファイル
**複数のダンプファイルを一括リストア [#q685220f]
複数のダンプファイルをまとめてリストアする場合は、ダンプファイルの保管ディレクトリに移動後に下記を実行する。
cat *.dmp | mysql -u [USER NAME] -p -h [HOST NAME] [DATABASE]
**文字コードの確認 [#zdb4ba63]
キャラセット関連のシステム変数を確認するには、mysqlクライアントコマンドを起動し、キャラセットの環境変数を表示させる。
$ mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.26
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
キャラセットの環境変数は下記に表示させる
SHOW VARIABLES LIKE 'character\_set\_%';
下記の様な表示結果となる
mysql> SHOW VARIABLES LIKE 'character\_set\_%';
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
+--------------------------+--------+
7 rows in set (0.01 sec)
**ユーザの一覧を表示 [#g21e891c]
作成済みユーザの一覧を表示するには下記を実行する。
mysql> use mysql;
Database changed
mysql> select user,host from user;
+--------+-----------+
| user | host |
+--------+-----------+
| mtuser | % |
| mysql | % |
| root | % |
| | localhost |
| root | localhost |
| | mysql5 |
| root | mysql5 |
+--------+-----------+
7 rows in set (0.00 sec)
**テーブルの一覧を表示する [#u0cf5ebb]
DB内のテーブル一覧を表示するには以下のコマンドを使用する。
use [DB NAME]
show tables;
**テーブルのステータス確認 [#l282ac30]
テーブルのステータスを確認するには以下のコマンドを使用する。~
使用しているDBエンジンの種類などが表示される。~
use [DB NAME]
show table status;
**DBの変換 [#m4ef4965]
MyISAM→InnoDBへ変換する際には以下のコマンドを使用する。
alter table [TABLE NAME] ENGINE=INNODB;
**DBの容量を確認する [#ec9dc6b1]
SHOW TABLE STATUS [FROM db_name];
**SQLファイルからSQLを実行する [#zac39e90]
SQLを記述したテキストファイルからSQLを実行するには以下の操作を行う。
mysql -u root -p [DB NAME] < [SQL File]
**テーブルの破損チェック[#bad88774]
テーブルが破損している可能性がある場合は以下の手順にて確認を行う。~
MyISAM、InnoDB、ARCHIVEテーブルの場合には使用可能。~
-破損チェック
check table [TABLE NAME];
-参考URL~
http://dev.mysql.com/doc/refman/5.1/ja/check-table.html~
**テーブルの破損修復[#bad88774]
テーブルが破損している可能性がある場合は以下の手順にて修復を行う。~
MyISAMテーブルの場合には使用可能。~
-破損の修復
repair table [TABLE NAME];
**シェル上からコマンドを実行 [#qf28d05e]
-単コマンドの実行
echo "show databases;" |mysql -u root --password=[PASSWORD]
-DBを指定して実行
echo "use [DB NAME]; show table status;" |mysql -u root --password=[PASSWORD]