【CentOS7】CentOS7でMariaDBをインストール~外部接続まで

2019年1月27日

今回はCentOS7上でMariaDBをインストールする方法を記載します。

※CentOS7より前のCentOSの場合はサービス起動やポート開放の方法が異なります。

 

MariaDBとは?

MariaDBはMySQLと互換性の無料のDBです。MySQLからフォークされて開発されたので、基本的な部分の多くはMySQLと同様になります。

ただし、設定ファイルの記載などはMySQLと異なるので、気を付けましょう。

 

どうでもいいことですけど、ロゴのアシカ可愛いですねw

 

MariaDBを設定する

MariaDBをインストールする

まずはMariaDBをインストールします。yumコマンドを使用します。

yum install mariadb mariadb-server

 

文字コードを変更する

DBの文字コードをUTF-8に変更します。

vi /etc/my.cnf

内容に以下を追加します。

character-set-server=utf8

 

サービスを起動する

MariaDBのサービスを起動し、DBを使えるようにします。

systemctl enable mariadb.service
systemctl start mariadb.service

エラーが発生していなければOKです。

 

rootユーザのパスワードを変更する

rootユーザのパスワードを変更する方法は2つあります。

一つ目の方法はこちらのコマンドです。

mysqladmin -u root password "パスワード"

これでOKです。

 

二つ目の方法はmysqlコマンドでDBへアクセスし、変更する方法です。

mysql -u root -p

MariaDBへアクセスできたら以下のコマンドを実行します。

update mysql.user set password=password('パスワード') where user = 'root';

 

ポート開放をします

ポート開放をします。CentOS7からはiptableがなくなっており、firewallが代わりとなっています。

なので、こちらの設定を行います。

firewall-cmd --zone=public --add-port=3306/tcp --permanent

今回はポートを指定してポート解放を行いましたが、サービス名を指定してサービスに紐づくポートを解放する方法も使えます。

firewall-cmd --permanent --add-service=mysql

いづれかの方法でポート開放しましょう。

 

ポート開放の設定をしたら、firewallを再起動して設定を有効にします。

systemctl reload firewalld.service

 

MariaDBユーザでの外部接続を有効にする

以下の設定では外部接続を可能にできます。しかし、この設定ではすべてのアクセスが有効になってしまいますので、本番等でのこの設定はしないようにしましょう。(%部分をテーブル名などに変えてください)

grant all privileges on *.* to "ユーザ名"@"%" identified by "パスワード" with grant option;

 

最後に

これでMariaDBが外部から接続可能になります。MariaDBって本当にMySQLとほとんど変わらないです。