ログイン
$ mysql -uroot # root でログイン
$ mysql -u ユーザ名 -p
Enter password: [パスワード]
$ mysql -h xxx.xxx.xxx.xxx -u username -p # リモートアクセス
サーバ操作
セッション統計情報の表示
show status;
バージョンを確認
$ mysql --version
> show variables like 'version';
現在の同時接続数
show status like "Threads_connected";
ユーザ操作
ログイン中のユーザ
select user();
ユーザ一覧を表示
select host,user from mysql.user;
ユーザ作成
create user 'user_name'@'host_name' identified by 'password';
# 権限付与と同時に行う場合
GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'host_name' IDENTIFIED BY 'local' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'host_name' IDENTIFIED BY 'local' WITH GRANT OPTION;
ユーザ削除
drop user 'user_name'@'host_name;
権限の付与
grant all privileges on db_name.table_name to 'user_name'@'host_name';
flush privileges;
ユーザ権限確認
show grants; # 現在ログイン中のユーザ
show grants for 'user_name'@'host_name'; # ユーザを指定
パスワード変更
update mysql.user set password=password('password') where user='user';
flush privileges; # 権限変更を反映
データベース操作
データベース一覧を表示
show databases;
データベースの作成
create database db_name;
使用するデータベースを選択
use db_name
データベース削除
drop database db_name;
テーブル操作
テーブル一覧を表示
show tables;
カラム一覧を表示
desc table_name;
# Collation 付き
show full columns from table_name;
ステータス情報を表示
show table status (like "table_name");
起動・停止
$ mysql.server start # 起動
$ mysql.server start --skip-grant-tables # パスワード無しでログイン
$ mysql.server stop # 停止
インデックスを確認
# 特定のテーブル
show index from table_name;
# 特定のデータベース
> use information_schema;
> SELECT * FROM statistics where TABLE_SCHEMA = database_name;