LoginSignup
203
269

More than 3 years have passed since last update.

MySQLコマンドまとめ

Last updated at Posted at 2014-12-09

ログイン

$ 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;
203
269
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
203
269