MariaDB使用時にSQLの構文が分からなくなったり、
早くもどの記事に載っていたかを探すのが面倒になりつつある(ストックせいや!)ので、
復習も兼ねて自分用にSQLをまとめていく。
Oracle用のSQLはノートに書き溜めていたけど、どこに何を書いたかとか分からなくなるし、
コピペ出来ないしで面倒だから、そっちもいずれ記事にまとめていきたい・・・。
#ユーザーを指定してのログイン
パスワードの入力を求められるので入力するとログインできる。
-uオプションでユーザー指定、-pオプションでパスワード入力を
求められる様になる。
mysql -u ユーザー名 -p
接続するDBも一緒に指定してログインする時は以下の様に、
特にオプションを付けずにDB名を付与して実行する。
mysql -u ユーザー名 -p データベース名
#作成済みのユーザーの確認
存在するユーザーについての情報を確認する時は
mysqlデータベースのuser表を確認する。
SELECT user,host FROM mysql.user;
#ユーザーの作成
新しくユーザーを作成する。
CREATE USER 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード';
※MySQLのリファレンスに拠るとINSERT文でもユーザーの追加をできる模様だが、
できればOracleDBと互換性のある形で使用したいので今のところ除外。
特権ユーザーを作成する場合は以下。
WITH GRANT OPTIONを付け加えると、他のユーザの権限を書き換えることが
可能になる様なので、rootとは別に管理者ユーザーを作成する時に使えると思われ。
GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
FLUSH PRIVILEGES;
MySQL8系だと上記の特権ユーザーの作成はできないっぽい
MySQL8系の場合は以下で作成する。
CREATE USER 'ユーザー名'@'ホスト名' identified by 'パスワード';
GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'ホスト名' (WITH GRANT OPTION);
FLUSH PRIVILEGES;
※GRANT構文を実行した後は「FLUSH PRIVILEGES;」を実行して権限を反映させる必要有。
#ユーザーのパスワード変更
接続したいユーザーのパスワードを忘れた時など
パスワードを再設定する場合は以下コマンドでパスワードを変更する。
ALTER USER 'ユーザー名'@'ホスト名' identified by 'パスワード';
SET PASSWORD FOR ユーザー名@ホスト=PASSWORD('パスワード');
#ユーザーの削除
ユーザーを削除するコマンド。
DROP USER ユーザー名@ホスト名;
#DBの作成
DBを作成する際のコマンド。
[]内は省略可能。
省略した場合はmy.cnfで設定しているデフォルトの値を使用する。
CREATE DATABASE データベース名
[CHARACTER SET 文字コード]
[COLLATE 照合順序];
#DBの一覧を確認
現在作成してあるDBの一覧を確認する。
注意は「database」ではなく「database"s"」で複数系である点。
間違えても特に問題は無いけど・・・。
SHOW DATABASES;
#DBの削除
DBを削除するコマンド。
DROP DATABASE データベース名;
#DBへの接続
ログイン時に接続するDBを指定していない場合、
以下コマンドでDBに接続する。
尚、USEでもDBの切り替えは可能な模様…
USE データベース名;
#接続DBの切替
CONNECT データベース名;
#接続しているDBの確認
SELECT database();
#CREATE DATABASE文の表示
指定したテーブル名のCreate Database文を表示。
文字コードはこれで確認ができる。
SHOW CREATE DATABASE データベース名;
#参考
・よく使うMariaDB か MySQLのSQLコマンドメモ
http://qiita.com/pugiemonn/items/247dccb6dc56e373ba92
・MariaDB はじめてのMariaDB 【第4回 ユーザを作成してみよう】
http://www.sakc.jp/blog/archives/38222
・MariaDB はじめてのMariaDB 【第5回 DBを作成してみよう】
http://www.sakc.jp/blog/archives/38550
・MySQL 5.6 リファレンスマニュアル
6.3.2 ユーザーアカウントの追加
https://dev.mysql.com/doc/refman/5.6/ja/adding-users.html