1. 接続
//接続
$ mysql -u xxxx -p yyyy
$ mysql -u xxxx -p -h 127.0.0.1 yyyy
-u xxxx
MySQL のユーザ名を指定する。
xxxx としてログインする。
-p
パスワード入力を求めるオプション。
パスワードをそのまま書く -pPASSWORD も可能だが非推奨。
-h 999.999.999.999
サーバ
yyyy(最後の引数)
接続後に自動で接続するデータベース名
USE yyyy; を実行した状態で MySQL に入れる。
//切断
> \q
//接続データベース( ≒スキーマ)の変更
> USE yyyy;
2. 確認コマンド
//バージョン確認
$ mysql --version
//データベース( ≒スキーマ)一覧
> SHOW DATABASES;
//テーブル一覧
> SHOW TABLES; //接続中のデータベース
> SHOW TABLES FROM yyyy; //データベースを指定
//テーブル構造確認
> DESCRIBE tttt;
> SHOW COLUMNS FROM tttt;
//インデックス一覧
> SHOW INDEX FROM tttt;
//シーケンス一覧
MySQLには SEQUENCE がない!!!!
//カレントユーザ確認
> SELECT CURRENT_USER();
//権限確認
> SHOW GRANTS FOR 'xxxx';
//現在のDB・接続情報表示
> status
//現在のクエリ実行中一覧
> SHOW PROCESSLIST;
3. クエリ実行
//ファイルから実行
> source file.sql
> \. file.sql
$ mysql db < file.sql
//CSV出力
> SELECT ... INTO OUTFILE 'file.csv' FIELDS TERMINATED BY ',';
//縦表示
> select * from m_category; //通常
+------+----------------------+------------+
| m_id | created_at | deleted_at |
+------+----------------------+------------+
| 1 | 2021-11-09 06:41:54 | NULL |
| 2 | 2021-11-09 06:41:54 | NULL |
| 3 | 2021-11-09 06:41:54 | NULL |
+------+----------------------+------------+
> select * from m_category \G //縦
************ 1. row ************
m_id : 1
created_at: 2021-11-09 06:41:54
deleted_at: NULL
************ 2. row ************
m_id : 2
created_at: 2021-11-09 06:41:54
deleted_at: NULL
************ 3. row ************
m_id : 3
created_at: 2021-11-09 06:41:54
deleted_at: NULL
4. バックアップ・レストア
//全DBバックアップ
$ mysqldump --no-tablespaces --all-databases > dump.sql
//単一DBバックアップ
$ mysqldump --no-tablespaces -u xxxx -p -h 127.0.0.1 yyyy > mysqldump_xxxx_20250101.sql
//リストア
$ mysql -u xxxx -p yyyy < mysqldump_xxxx_20250101.sql
-u xxxx
MySQL のユーザ名を指定する。
xxxx としてログインする。
-p
パスワード入力を求めるオプション。
パスワードをそのまま書く -pPASSWORD も可能だが非推奨。
-h 999.999.999.999
サーバ
yyyy(最後の引数)
接続後に自動で接続するデータベース名
USE yyyy; を実行した状態で MySQL に入れる。