今回はMariaDBを外部接続する方法です。
MariaDBを外部接続できるようにする
vim /etc/my.cnf.d/server.cnf
で開き
#bind-address=0.0.0.0 から bind-address=0.0.0.0 に変更します。 全て許可の場合は0.0.0.0で許可を指定する場合はIPアドレス又はドメイン名
systemctl restart mariadb
ファイアフォールでの許可
firewall-cmd --add-port=3306/tcp --zone=public --permanent firewall-cmd --reload
これで外部接続ができます。
ユーザーの追加
#mariadb10.5以下の場合 grant all privileges on *.* to <ユーザー名>@"%" identified by <password> with grant option; #mariadb10.6以上の場合 create user 'ユーザー名'@'%' identified by 'パスワード'; grant all on test.* to 'ユーザー名'@'%' with grant option;
接続できるか確認
mysql -u <ユーザー名> -p -h <ipアドレス>
このままだと第三者に見られる可能性があるため暗号化できるようにします。
先にsslを取得してください。
SSLを入れるディレクトリー作成
mkdir -p /etc/sql/ssl
取得したSSLをコピー
(例)Let’s Encryptから取得した場合
cp /etc/letsencrypt/live/ドメイン名/* /etc/sql/ssl
chown -R mysql. /etc/sql/ssl/*
MariaDBの設定に書き込む
vim /etc/my.cnf.d/server.cnf [mysqld] ssl-ca=/etc/sql/ssl/chain.pem ssl-cert=/etc/sql/ssl/cert.pem ssl-key=/etc/sql/ssl/privkey.pem
systemctl restart mariadb
SSLでの接続は
mysql -u <ユーザー名> -p -h <IPアドレス> --ssl
接続を確認
show status like 'ssl_cipher';
+---------------+------------------------+ | Variable_name | Value | +---------------+------------------------+ | Ssl_cipher | TLS_AES_256_GCM_SHA384 | +---------------+------------------------+
Valueに表示されていない場合は接続できていません。
もしwordpressでMariaDBにssl接続したい場合は
wp-config.phpに
define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
define('MYSQL_SSL_CA', getenv('MYSQL_SSL_CA'));
を書き込みしてください。
最後まで読んでくれてありがとうございました。
コメントを残す