MariaDB コマンドまとめ

ユーザーを指定してのログイン

パスワードの入力を求められるので入力するとログインできる。
-uオプションでユーザー指定、-pオプションでパスワード入力を
求められる様になる。

MariaDBにログイン
mysql -u ユーザー名 -p

接続するDBも一緒に指定してログインする時は以下の様に、
特にオプションを付けずにDB名を付与して実行する。

DB指定でMariaDBにログイン
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系の場合は以下で作成する。

特権ユーザーの作成(MySQL8)
CREATE USER 'ユーザー名'@'ホスト名' identified by 'パスワード';
GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'ホスト名' (WITH GRANT OPTION);
FLUSH PRIVILEGES;

※GRANT構文を実行した後は「FLUSH PRIVILEGES;」を実行して権限を反映させる必要有。

ユーザーのパスワード変更

接続したいユーザーのパスワードを忘れた時など
パスワードを再設定する場合は以下コマンドでパスワードを変更する。

ユーザーのパスワード変更1
ALTER USER 'ユーザー名'@'ホスト名' identified by 'パスワード';
ユーザーのパスワード変更2
SET PASSWORD FOR ユーザー名@ホスト=PASSWORD('パスワード');

ユーザーの削除

ユーザーを削除するコマンド。

ユーザーの削除
DROP USER ユーザー名@ホスト名;

DBの作成

DBを作成する際のコマンド。
[]内は省略可能。
省略した場合はmy.cnfで設定しているデフォルトの値を使用する。

DBの作成
CREATE DATABASE データベース名 
[CHARACTER SET 文字コード]
[COLLATE 照合順序];

DBの一覧を確認

現在作成してあるDBの一覧を確認する。
注意は「database」ではなく「database”s”」で複数系である点。
間違えても特に問題は無いけど・・・。

DBの一覧
SHOW DATABASES;

DBの削除

DBを削除するコマンド。

DBの削除
DROP DATABASE データベース名;

DBへの接続

ログイン時に接続するDBを指定していない場合、
以下コマンドでDBに接続する。
尚、USEでもDBの切り替えは可能な模様…

DBへの接続
USE データベース名;

接続DBの切替

DBの切替
CONNECT データベース名;

接続しているDBの確認

接続中のDB確認
SELECT database();

CREATE DATABASE文の表示

指定したテーブル名のCreate Database文を表示。
文字コードはこれで確認ができる。

文字コードの確認
SHOW CREATE DATABASE データベース名;

参考元:https://qiita.com/IysKG213/items/4a26bc419eea8f642b44