61
86

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MariaDB コマンドまとめ その1

Last updated at Posted at 2017-08-07

MariaDB使用時にSQLの構文が分からなくなったり、
早くもどの記事に載っていたかを探すのが面倒になりつつある(ストックせいや!)ので、
復習も兼ねて自分用にSQLをまとめていく。

Oracle用のSQLはノートに書き溜めていたけど、どこに何を書いたかとか分からなくなるし、
コピペ出来ないしで面倒だから、そっちもいずれ記事にまとめていきたい・・・。


#ユーザーを指定してのログイン
パスワードの入力を求められるので入力するとログインできる。
-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 データベース名;

#参考
・よく使う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

61
86
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
61
86

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?