mysqlのSSL通信

mysql8.0をインストールし、レプリケーションを行っていたのだが

再起動するたびに、手動で接続しなければならないので、

SSL通信にしてみた。

検索でいろいろググってみたが、結局のところ初めから設定や証明書などは設定されていたので

CHANGE MASTER TO

MASTER_SSL = 1;

とするだけで動作しました。

マスター側の証明書とかをスレーブ側にコピーして、それをスレーブに設定する記載が

結構見受けられましたが、上記だけで動作しました。

各々のSSL設定は初期設定に含まれていたようで

show global variables like ‘%ssl%’;

+————————————-+—————–+

| Variable_name                       | Value           |

+————————————-+—————–+

| have_openssl                        | YES             |

| have_ssl                            | YES             |

| performance_schema_show_processlist | OFF             |

| ssl_ca                              | ca.pem          |

| ssl_capath                          |                 |

| ssl_cert                            | server-cert.pem |

| ssl_cipher                          |                 |

| ssl_crl                             |                 |

| ssl_crlpath                         |                 |

| ssl_fips_mode                       | OFF             |

| ssl_key                             | server-key.pem  |

+————————————-+—————–+

SSL関係はこんな感じが初めから入っていました。

証明書自体は、/var/db/mysqlの中に作成されていました。

mysql レプリケーション

bhyveを入れてからサーバで仮想環境を作りまくって遊んでいるのだが、

仮想環境が多くなりすぎてCPUのコア数が全然足りない。

ある程度余裕がないとbhyveがこけるのでマイクラ用のサーバなどは起動できなくなってしまった。

その中で今回は、mysqlのレプリケーションを行ってみた。

設定自体は結構単純で

1.マスターにレプリケーション用のアカウント作成

2.スレーブ側にマスターに情報を入れる。

3.スレーブ開始

で終わった。レプリケーション自体の設定は初めからほぼ入っていた。

1件困ったのがスレーブからマスターに1回接続しないといけないこと

回避方法はわかったが、面倒だから放置中

参考:

https://yoku0825.blogspot.com/2018/10/mysql-80cachingsha2password-ssl.html

双方向レプリケーションとかは面倒そうなのでしなかった。

で、設定終わってしばらく動かしていると

CPU使用率に結構な差が出ていた

1.bhyveload+FreeBSD-R12.2

2.uefi+FreeBSD-R13

の構成なのだが、1のが明らかにCPUを食っている。

1がマスターなのでCPUを多く食うのは当然なのだが、かなりの差が出ていたので

マスタースレーブを入れ替えてみたら、

2の構成のが1の構成よりCPU使用が半分で済んでいた。

mysqlのレプリケーションをやってみて思ったのは、

まだまだレプリケーションの最適化がないことだった。

双方向レプリケーションに関しては、もう少し楽になるといいなと思う。

まあ、自宅サーバじゃレプリケーションいらないのですが