基本 †MySQL接続 †$ mysql -u USER パスワードを使用する場合 $ mysql -u USER -p 対象とするデータベースの宣言 †mysql> use DBNAME; データベース操作 †データベース作成 †mysql> create database DBNAME default character set utf8; データベース削除 †mysql> drop database DBNAME; データベースの文字コードを変更 †mysql> alter database DATABASE character set utf8; データベース確認 †mysql> show databases; テーブル確認 †mysql> show tables from DBNAME; mysql> show tables; テーブル構造確認 †mysql> show create table TABLE; mysql> desc TABLE; テーブルの文字コードを変更 †mysql> alter table TABLE default character set utf8; テーブルの状態を確認 †mysql> show table status like 'TABLE'\G 照合順序を確認 †いずれもCollationフィールドが照合順序になります。 テーブルの場合 mysql> show table status from DBNAME; カラムの場合 mysql> show full columns from TABLE; ユーザーと権限 †ユーザー作成 †mysql> create user 'USER'@'localhost'; mysql> create user 'USER'@'localhost' identified by 'PASSWORD'; ユーザー削除 †mysql> drop user 'USER'@'localhost'; パスワード変更 †mysql> SET PASSWORD FOR root@localhost = PASSWORD('pass'); ユーザーの確認 †mysql> select host, user from mysql.user; データベース作成の権限を付与 †mysql> grant create on *.* to 'USER'@'localhost'; テーブル操作の権限を付与 †mysql> grant select,update,insert,delete on DB.* to 'USER'@'localhost'; 権限の剥奪 †mysql> revoke all on DB.* from 'USER'@'localhost'; 権限の確認 †mysql> show grants for 'USER'@'localhost'; auto_increment †auto_incrementの確認 †次に割り振られる番号が表示されます。 mysql> SELECT auto_increment FROM information_schema.tables WHERE table_name = 'TABLE'; auto_incrementの変更 †次に割り振りたい番号を指定。 mysql> ALTER TABLE autoincrement_test AUTO_INCREMENT=4; ログ †実行されたSQL文を記録する †# vi /etc/my.cnf [mysqld] general_log=1 log_output=FILE general_log_file=/var/log/mysqld_query.log # service mysqld restart バックアップとリストア †バックアップ †$ mysqldump -u USER -p DBNAME > DBDATA.DUMP 特定のテーブルのみをバックアップする場合 $ mysqldump -u USER -p DBNAME TABLENAME > DBDATA.DUMP 文字化けする場合は以下のオプションを付けてみる --default-character-set=binary 復元 †データベースは作成しておいてテーブルは無い状態にしておく $ mysql -u USER -p DBNAME < DBDATA.DUMP |