MariaDBの自分用コマンドメモです。
普段あまりDBは使用しないのですが、たまに使う場合毎度毎度調べているのでまとめてみました。
初期設定
「MariaDB」をインストールした後直ぐに実施することで、下記の設定を行うことが出来ます。
- MariaDBのrootにパスワード設定
- 匿名ユーザ(anonymous)の削除
- リモートからrootユーザ接続禁止
- テスト用データベースの削除
# mysql_secure_installation
詳しい解説は下記ページを参照してください。
https://www.server-memo.net/server-setting/mariadb/centos7_install.html
ログイン
ユーザを指定してログインする場合には「-u ユーザ」を付けます。
「-p」オプションを指定することでパスワードの入力を行うことが出来ます。
mysql -u ユーザ名 -p
MariaDBの「root」ユーザでログインする場合の例です。
$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 130624 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
ポート番号指定
デフォルトのポート番号以外を使用している場合は「-P」(Pは大文字)オプションを使用することで、ポート番号を指定することが出来ます。
mysql -u ユーザ名 -p -P ポート番号
データベースを指定してログイン
使用したいデータベースを指定してログインする場合は、ログインする際にデータベースもあわせて指定します。
mysql -u ユーザ名 -p データベース名
「testdb」というデータベースを指定したい場合は下記のように実行します。
$ mysql -u root -p testdb Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 130675 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [testdb]>
ログアウト
ログアウトする場合は「exit」または「quit」と入力します。
exit または quit
「exit」と「quit」どちらを使っても良いです。
MariaDB [testdb]> exit Bye $
MariaDB [(none)]> quit Bye $
データベース作成
データベースを新しく作成する場合は「CREATE DATABASE」コマンドを使用します。
CREATE DATABASE データベース名;
「testdb」というデータベースを作成してみます。
MariaDB [(none)]> CREATE DATABASE testdb; Query OK, 1 row affected (0.00 sec)
データベースの確認
作成済みのデータベース一覧を表示する場合は「SHOW DATABASES」コマンドを使用します。
SHOW DATABASES;
「SHOW DATABASES」コマンドを実行すると、下記のようにデータベースの一覧が表示されます。
MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | testdb | +--------------------+ 4 rows in set (0.00 sec)
データベースを選択(データベースへ接続)
使用するデータベースを選択する場合は「USE」コマンドを使用します。
USE データベース名;
「testdb」を使えるように選択してみます。
MariaDB [(none)]> USE testdb; Database changed MariaDB [testdb]>
データベースを指定する前は「MariaDB [(none)]」と表示されていますが、選択後は「MariaDB [testdb]」[none]と表示されていた部分が[testdb]となり現在選択されているデータベースが確認できます。
テーブルの作成
テーブルを作成したいデータベースを指定した後に「CREATE TABLE」コマンドでテーブルを作成することが出来ます。
カラムを複数指定したい場合は「,」で区切ります。
CREATE TABLE テーブル名( カラム名1 データ型, カラム名2 データ型 );
「userinfo」というテーブルを作成して、「id」「username」「password」「age」というカラムを作成します。
MariaDB [testdb]> CREATE TABLE userinfo( -> id int, -> username varchar(255), -> password char(20), -> age int -> ); Query OK, 0 rows affected (0.03 sec)
テーブル確認
作成済みのテーブルを確認する場合は「SHOW TABLES」コマンドを使用します。
SHOW TABLES;
「SHOW TABLES」コマンドでテーブルを実行すると「userinfo」というテーブルがあることが出来ました。
MariaDB [testdb]> SHOW TABLES; +------------------+ | Tables_in_testdb | +------------------+ | userinfo | +------------------+ 1 row in set (0.00 sec)
テーブルの構造を確認
テーブルの構造を確認する場合は「DESC」コマンドを使用します。
DESC テーブル名;
下記は「userinfo」というテーブルの構造を表示させた結果となります。
MariaDB [testdb]> DESC userinfo; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | username | varchar(255) | YES | | NULL | | | password | char(20) | YES | | NULL | | | age | int(11) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
データ登録
作成したテーブルにデータを登録するには「INSERT」コマンドを使用します。
INSERT INTO テーブル名 VALUES(データ1,データ2,....);
テーブルに設定されているカラム順にデータを登録していき、文字列は「'」(シングルクォーテーション)でくくる必要があります。
MariaDB [testdb]> INSERT INTO userinfo VALUES(0002,'testuser2','password',21); Query OK, 1 row affected (0.00 sec)
データの確認
登録されているデータを参照するには「SELECT」コマンドを使用してます。
SELECT カラム名 FROM テーブル名;
全てのカラムを表示したい場合はカラム名に「*」を指定します。
MariaDB [testdb]> SELECT * FROM userinfo; +------+-----------+----------+------+ | id | username | password | age | +------+-----------+----------+------+ | 1 | testuser1 | password | 20 | | 2 | testuser2 | password | 21 | +------+-----------+----------+------+ 2 rows in set (0.00 sec)
カラム名を指定すると、確認したいものだけを表示することが出来ます。
MariaDB [testdb]> SELECT username,age FROM userinfo; +-----------+------+ | username | age | +-----------+------+ | testuser1 | 20 | | testuser2 | 21 | +-----------+------+ 2 rows in set (0.00 sec)
ユーザ作成
データベースを管理するユーザは「CREATE USER」コマンドで作成します。
CREATE USER 'ユーザ名'@'ホスト' IDENTIFIED BY 'パスワード';
「tamohiko」というユーザを作成してみます。
MariaDB [(none)]> CREATE USER 'tamohiko'@'localhost' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.02 sec)
権限設定
作成したユーザへ権限を設定する場合は「GRANT」コマンドを使用します。
GRANT 権限 PRIVILEGES ON データベース名.テーブル名 TO 'ユーザ名'@'ホスト'
「tamohiko」ユーザに「testdb」というデータベースのすべてテーブルに対して、すべての権限(ALL)を持たせてみます。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON testdb.* TO 'tamohiko'@'localhost'; Query OK, 0 rows affected (0.00 sec)
FLUSH PRIVILEGESコマンドについて
「FLUSH PRIVILEGES」コマンドによる権限の反映は「INSERT」で直接テーブルを更新した際に必要となります。
https://dev.mysql.com/doc/refman/5.6/ja/adding-users.html
ユーザの一覧表示
SELECT host,user FROM mysql.user;
MariaDB [(none)]> SELECT host,user FROM mysql.user; +-----------+----------+ | host | user | +-----------+----------+ | 127.0.0.1 | root | | ::1 | root | | localhost | ntAdmin | | localhost | root | | localhost | tamohiko | +-----------+----------+ 5 rows in set (0.00 sec)
パスワードの変更
自分のパスワードを変更する方法と、別ユーザのパスワードを変更する方法です。
自分のパスワードを変更
「SET PASSWORD」コマンドでパスワードを変更することが出来ます。
SET PASSWORD=PASSWORD('パスワード');
自分のパスワードを「passw0rd」に変更してみます。
MariaDB [(none)]> SET PASSWORD=PASSWORD('passw0rd'); Query OK, 0 rows affected (0.07 sec)
別ユーザのパスワードを変更
別ユーザのパスワードを変更する方法です。(rootユーザで実施する必要があります。)
SET PASSWORD FOR 'ユーザ名'@'ホスト名' = PASSWORD('パスワード');
MariaDB [(none)]> SET PASSWORD FOR 'tamohiko'@'localhost' = PASSWORD('password'); Query OK, 0 rows affected (0.02 sec)
ユーザの削除
ユーザの削除は「DROP USER」コマンドを使用します。
DROP USER 'ユーザ名'@'ホスト名';
コメント