*MySQL接続 [#kc6edbee]
#contents

 $ mysql -u USER -S /tmp/mysql.sock -p
*基本 [#uaca29a0]

*データベース作成 [#xf4e5158]
**MySQL接続 [#id318377]

 mysql> create database DBNAME;
 $ mysql -u USER

*データベース削除 [#ydafe8e1]
パスワードを使用する場合

 $ mysql -u USER -p

**対象とするデータベースの宣言 [#k22ad36d]

 mysql> use DBNAME;

*データベース操作 [#pa11f39f]

**データベース作成 [#ke051f6b]

 mysql> create database DBNAME default character set utf8;

**データベース削除 [#z310d745]

 mysql> drop database DBNAME;

*データベース確認 [#k55837e2]
**データベースの文字コードを変更 [#o2367e0a]

 mysql> alter database DATABASE character set utf8;

**データベース確認 [#p11496af]

 mysql> show databases;

*テーブル確認 [#f78ce2d1]
**テーブル確認 [#a1fe78e1]

 mysql> show tables from DBNAME;
 mysql> show tables;

*バックアップ [#uc12f735]
**テーブル構造確認 [#q40be972]

 $ mysqldump -u USER -pPASSWORD DBNAME > DBDATA.DUMP
 mysql> show create table TABLE;
 mysql> desc TABLE;

*復元 [#id66cd19]
**テーブルの文字コードを変更 [#cf4ce529]

 mysql> alter table TABLE default character set utf8;

**テーブルの状態を確認 [#d640f19d]

 mysql> show table status like 'TABLE'\G

**照合順序を確認 [#d8507875]

いずれもCollationフィールドが照合順序になります。

テーブルの場合
 mysql> show table status from DBNAME;

カラムの場合
 mysql> show full columns from TABLE;

*ユーザーと権限 [#bcb27275]

**ユーザー作成 [#x8de0600]

 mysql> create user 'USER'@'localhost';
 mysql> create user 'USER'@'localhost' identified by 'PASSWORD';

**ユーザー削除 [#q6fc29bf]

 mysql> drop user 'USER'@'localhost';

**パスワード変更 [#t148ecc2]

 mysql> SET PASSWORD FOR root@localhost = PASSWORD('pass');

**ユーザーの確認 [#g50283c5]

 mysql> select host, user from mysql.user;

**データベース作成の権限を付与 [#pacd0433]

 mysql> grant create on *.* to 'USER'@'localhost';

**テーブル操作の権限を付与 [#zf7ca59f]

 mysql> grant select,update,insert,delete on DB.* to 'USER'@'localhost';

**権限の剥奪 [#r6d18845]

 mysql> revoke all on DB.* from 'USER'@'localhost';

**権限の確認 [#feb2c7b6]

 mysql> show grants for 'USER'@'localhost';

*auto_increment [#zdd17d7b]

**auto_incrementの確認 [#vaaaede4]

次に割り振られる番号が表示されます。

 mysql> SELECT auto_increment FROM information_schema.tables WHERE table_name = 'TABLE';

**auto_incrementの変更 [#rd6018d1]

次に割り振りたい番号を指定。

 mysql> ALTER TABLE autoincrement_test AUTO_INCREMENT=4;

*ログ [#e67a0bef]

**実行されたSQL文を記録する [#efedde1f]

 # vi /etc/my.cnf

 [mysqld]
 general_log=1
 log_output=FILE
 general_log_file=/var/log/mysqld_query.log

 # service mysqld restart

*バックアップとリストア [#w629d7bd]

**バックアップ [#x884b6fa]

 $ mysqldump -u USER -p DBNAME > DBDATA.DUMP

特定のテーブルのみをバックアップする場合~
複数のテーブルの場合は半角スペースを開けて続けて記述

 $ mysqldump -u USER -p DBNAME TABLENAME > DBDATA.DUMP

文字化けする場合は以下のオプションを付けてみる

 --default-character-set=binary

**復元 [#xc5d0f27]

データベースは作成しておいてテーブルは無い状態にしておく

 $ mysql -u USER -p DBNAME < DBDATA.DUMP


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS