MariaDB 10.1の導入手順

CentOS7.3にMySQLからフォークしたMariaDBの導入を行いました。

MariaDBはMySQLがOracleに買収された際にMySQLオリジナルコードの作者が離脱して立ち上げたプロジェクトです。
バージョン5.5まではMySQLと高い互換性を保持していましたが、MySQLが5.6からコードの大幅な書き換えを行うのと同時に、MariaDBは独自機能の追加などを行う方針へ転換し、MySQL 5.6の代わりにMariaDB 10が登場しました。

導入方法は、MySQL同様にレポジトリを登録してインストールします。

レポジトリ登録

公式ページ通りにファイルを作成します。
$ vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1

インストール

$ yum install MariaDB-server MariaDB-client

文字コード設定

$ vi /etc/my.cnf.d/server.cnf
[mysqld]
character-set-server = utf8

ポート開放

MySQLと同じ3306ポートです。

$ firewall-cmd --zone=public --permanent --add-port=3306/tcp
$ systemctl restart firewalld

初期設定

初期設定もMySQLと同じ「mysql_secure_installation」を使います。
下記内容の詳細は、MySQL5.7の導入手順を参照してください。

$ mysql_secure_installation

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

アクセス権限設定

$ mysql -u root -p

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO root@"192.168.0.%" IDENTIFIED BY 'passedp' WITH GRANT OPTION;

アクセス権の確認

MariaDB [(none)]> use mysql;MAA
Database changed
MariaDB [mysql]> select user, host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+------+-----------+
4 rows in set (0.00 sec)