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)