CentOS7 MariaDBをインストール

2017.6.26 (月)

MariaDBはMySQLとあんまりかわらないです。というか殆ど同じということでよいのではないかと思います。が、いずれちょっとづつ大きく変わるのだと思うわけです。

version comment
MariaDB5.5シリーズ MysQl5.5までをサポート
MariaDB5.5シリーズ MysQl5.5までをサポート
MariaDB10.0シリーズ Mysql5.6を取り入れ、MariaDB独自機能があり。
MariaDB10.1シリーズ Mysql5.7を取り入れ、MariaDB独自機能あり。

ということになっているので、CentOS7では5.5シリースをyumでインストールしてしまうのが今のところ懸命ということになるでしょうか。

MariaDBをyumでインストール

パッケージを見てみると2019-01-15時点でのMariaDBは、

yum list mariadb
mariadb.x86_64   1:5.5.60-1.el7_5      updates

ということなので、これでよいのでしょう。

yum -y install mariadb mariadb-server

とインストールしてしまいます。

mariadb.x86_64                        1:5.5.52-1.el7                 @base
mariadb-libs.x86_64                   1:5.5.52-1.el7                 @base
mariadb-server.x86_64                 1:5.5.52-1.el7                 @base

というものがインストールされます。
各種コマンドは以下の通り。

systemctl start mariadb.service  MariaDBを起動させる
systemctl enable mariadb.service  MariaDB再起動時の自動起動設定
systemctl status mariadb       現在の起動しているかどうかの状態確認
systemctl is-enabled mariadb     MariaDB再起動時の立ち上げ設定の確認

MariaDBの設定

かつてのmy.cnfの設定です。MariaDBは/etc/my.cnf.d/server.cnfで設定するのがお行儀の良い感じになるようです。server.cnfはヒントみたいなもの以外は何も書かれていません。なので、
MariaDBはMySQLと同様に設定ファイルのサンプルをいくつか用意しています。これらをコピーして使います。

[/usr/share/mysql/]

my-huge.cnf
my-innodb-heavy-4G.cnf
my-large.cnf
my-medium.cnf
my-small.cnf

やたらと巨大なDB構築ではない限りmy-small.cnfを適用します。
server.cnfをオリジナルで保存しておく。
/usr/share/mysql/my-small.cnfを/etc/my.cnf.d/server.cnfとして保存。

mv /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.org
cp -p /usr/share/mysql/my-small.cnf /etc/my.cnf.d/server.cnf

実際に書いてあることはかなりミニマムなのでいったんこのまま使って大丈夫です。
ですが、日本人なので文字コードの設定だけしておいた方がよいかもです。

[client]
default-character-set=utf8
....
[mysqld]
character-set-server=utf8
....

基本的な設定はここまでなのでMariDBを立ち上げて起動してみます。
まだ何も設定していないので、

mysql -u root

でログインできてしまいます。

ダイアログ形式で基本的な設定をしておく

専用のコマンドで地味に設定するのがプロだと思っている人多いですが、面倒なのでmysql_secure_installationでやってしまいます。

mysql_secure_installation

Enter current password for root (enter for none): [ENTER]
Set root password? [Y/n] Y [ENTER]
New password: xxxxxxxx [ENTER]
Re-enter new password: xxxxxxxx [ENTER]
Remove anonymous users? [Y/n] Y [ENTER]
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y [ENTER]
Reload privilege tables now? [Y/n] Y [ENTER]

これぐらいでよいかと思います。

ユーザーの設定など

デフォルトのユーザーはrootしかいないので実際に利用するユーザーを作ってあげます。やり方はMySQLと殆ど同じっぽい。
mysqlのコマンド操作

ログの設定

(また今度)

やたらと詳しいサイト様が多数あります。
https://centosinstall.com/centos/centos7/mariadb