MySQLを操作するためのコマンド一覧です。

よく使う割にはど忘れしてしまうのでメモ的な意味をこめて。歳かな・・・

起動や終了

起動

$ mysql_safe --user=ユーザ名 &

&を付けてデーモンで起動、ユーザ名はインストールユーザ。

停止

$ mysqladmin shutdown -p

mysqlサーバを停止する。

起動や停止はyumなどでインストールするとsystemctlで操作するはずなのであまり使わないか。

$ systemctl start mysqld.service
$ systemctl stop mysqld.service
$ systemctl restart mysqld.service

自動起動設定

$ systemctl enable mysqld.service

MySQLを初期化するコマンド

MySQLを初期化

$ mysql_install_db

MySQL5.7.6以降の初期化

MySQL5.7.6くらいから初期化のコマンドが変更された

$ mysql --user=ユーザ名 --initialize

初期設定

$ mysql_secure_installation
  • rootのパスワード変更
  • anonymousユーザ削除
  • testデータベース削除

などなどを行う。

MySQLの情報を取得

MySQLにログインして実行する。

MySQLのバージョン等の確認

mysql> STATUS
--------------
mysql  Ver 14.14 Distrib 5.6.43, for Win64 (x86_64)

Connection id:          44
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.6.43-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    cp932
Conn.  characterset:    cp932
TCP port:               3306
Uptime:                 33 min 37 sec

MySQLシステム変数を表示

mysql> SHOW VARIABLES

かなりの数表示される、LIKE構文が使える。

mysql> SHOW VARIABLES LIKE 'version'
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| version       | 5.6.21-log |
+---------------+------------+
1 row in set (0.00 sec)

データーベースの情報確認

データベース一覧を表示

MySQL内のデータベースの一覧を表示します。

mysql> show databases;
mysql>
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

データベース情報

CREATE構文や文字コードが確認できる。

mysql> SHOW CREATE DATABASE test;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)

データベース内のテーブル情報を表示

テーブルのレコード数などが確認できる。

mysql> SHOW TABLE STATUS [FROM データベース名]

テーブルの情報確認

テーブルの一覧表示

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| sample         |
| test           |
+----------------+

テーブル情報表示

フィールド名や型などを表示する

mysql> EXPLAIN test;
+-------+----------------+------+-----+---------+-------+
| Field | Type           | Null | Key | Default | Extra |
+-------+----------------+------+-----+---------+-------+
| no    | int(11)        | YES  |     | 0       |       |
| name  | varbinary(100) | YES  |     |         |       |
+-------+----------------+------+-----+---------+-------+
2 rows in set (0.02 sec)

テーブルのCREATE構文確認

mysql> SHOW CREATE TABLE test;
+-------+-----------------------------+
| Table | Create Table                |
+-------+-----------------------------+
| test  | CREATE TABLE `test` (
`no` int(11) DEFAULT '0',
`name` varbinary(100) DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-----------------------------+

MySQL操作コマンドまとめ

起動や終了、データベース情報確認などのコマンドを一覧にしました。

プログラムからMySQL利用する際にはあまり利用しませんけど。

インフラよりですね、MySQLの管理や運用などに利用できると思います。