MariaDBとは
MariaDBは、MySQLの開発者の一部がスピンアウトして新たに作り始めた、MySQL互換(一部)のデータベースです。
もともとMySQLはオープンソースなので、基本的な機能やコマンドなどはおおよそ同じです。
ライセンスの違いなどから、最新のLinuxディストリビューションでは、MySQLの代わりにMariaDBが使われることが多くなってきています。
インストールコマンドの例
# yum install mariadb mariadb-server
MariaDBの起動コマンド
# systemctl start mariadb
データベースの操作
MariaDBを操作するには、mysqlコマンドを使います。
mysqlコマンドはMariaDBをインストールすれば自動的にインストールされます。
MariaDBなのにmysqlコマンドを使用して変な感じがするかもしれませんが、歴史的な経緯がありそうなっています。
MariaDBにログインするコマンド
# mysql -u <ユーザー名> -p
初期状態ではrootユーザーしかないのでrootを使用するコマンド例
# mysql -u root -p
パスワード未設定の場合は、そのままEnterクリック
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
ログインすると次のようなプロンプトが表示され、ここにコマンドを入力して操作できるようになります
MariaDB [(none)]>
セキュリティのためrootパスワードを変更するコマンド
MariaDB [(none)]> update mysql.user set password=password('<設定したいパスワード>') where user ='root'; flush privileges;
セキュリティのためrootパスワードを変更するコマンド例
MariaDB [(none)]> update mysql.user set password=password('mariadbpassword') where user ='root'; flush privileges;
MariaDBやMySQLでは、データをデータベースという単位で管理します。
何かデータを保存するためには、MariaDBを利用するソフトウェアごとに「データベース」という枠組みを作り、そこにアクセスするための「ユーザー名」「パスワード」を設定する必要があります。
設定値 | 値 | 意味 |
ユーザー名 | test01 | DBに接続する時のユーザー名 |
パスワード | test01password | DBに接続の時のパスワード |
データベース名 | testdb | データベースの名称 |
データベースを作成する
test01というユーザーを、test01passwordというパスワードで作成するコマンド例
MariaDB [(none)]> create user 'test01'@'localhost' IDENTIFIED BY 'test01password';
testdbというデータベースを作成するコマンド例
MariaDB [(none)]> create database testdb;
test01ユーザーに対して、データベースtestdbの全権限を与えるコマンド例
MariaDB [(none)]> grant all privileges on testdb.* to 'test01'@'localhost'; FLUSH PRIVILEGES;
作成したデータベースを確認するコマンド
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| testdb |
+--------------------+
5 rows in set (0.00 sec)
終了するコマンド
MariaDB [(none)]> exit
Bye
データベースのバックアップをとる
/tmpディレクトリ下にwordpressdb.sqlというファイルとしてバックアップを作成
$ mysqldump --databases wordpressdb -u root -p > /tmp/wordpressdb.sql
バックアップしたデータをmysqlコマンドで移行する
$ mysql -h <データベースのエンドポイント> -u root -p < /tmp/wordpressdb.sql
※-hで指定しているのは移行先DBのエンドポイント、-uはユーザー名、-pはパスワードを訪ねられます
MariaDBのアンインストール
$ sudo -i yum remove mariadb-server