MySQL 構成 SSL マスタースレーブ レプリケーション

MySQL 構成 SSL マスタースレーブ レプリケーション

MySQL5.6 SSLファイルの作成方法

公式ドキュメント: https://dev.mysql.com/doc/refman/5.6/en/creating-ssl-files-using-openssl.html#creating-ssl-files-using-openssl-unix-command-line

クリーンな環境を作る

mkdir /home/mysql/mysqlcerts && cd /home/mysql/mysqlcerts

CA証明書を作成する

openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem

サーバー証明書を作成し、パスフレーズを削除して署名する

server-cert.pem = 公開鍵、server-key.pem = 秘密鍵
openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in サーバーキー.pem -out サーバーキー.pem
openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

クライアント証明書を作成し、パスフレーズを削除して署名する

client-cert.pem = 公開鍵、client-key.pem = 秘密鍵
openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem
openssl rsa -in クライアントキー.pem -out クライアントキー.pem
openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
openssl verify -CAfile ca.pem server-cert.pem client-cert.pem
server-cert.pem: OK
client-cert.pem: OK

MySQL5.7 SSLファイルの作成方法

公式ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/creating-ssl-rsa-files-using-mysql.html

mkdir -p /home/mysql/mysqlcerts
/usr/local/mysql-5.7.21-linux-glibc2.12-x86_64/bin/mysql_ssl_rsa_setup --datadir=/home/mysql/mysqlcerts/

SSLを作成した後、メインライブラリを構成する

ライブラリ 192.168.1.222 から

mkdir -p /home/mysql/mysqlcerts

メインライブラリ

chown -R mysql.mysql /home/mysql/mysqlcerts/
scp ca.pem クライアント証明書.pem クライアントキー.pem [email protected]:/home/mysql/mysqlcerts/

マスターライブラリ認証

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.222' identified by '' require ssl;

メインライブラリ my.cnf

#SSL
ssl-ca=/home/mysql/mysqlcerts/ca.pem
ssl-cert=/home/mysql/mysqlcerts/server-cert.pem
ssl-key=/home/mysql/mysqlcerts/server-key.pem

MySQLを再起動する

図書館から

chown -R mysql.mysql /home/mysql/mysqlcerts/

マイ.cnf

ssl-ca=/home/mysql/mysqlcerts/ca.pem
ssl-cert = /home/mysql/mysqlcerts/client-cert.pem
ssl-key= /home/mysql/mysqlcerts/クライアントキー.pem

レプリケーションを作成します。

マスターを、master_host='',master_user='',master_password='',master_log_file='mysql-bin.000001',master_log_pos=154, master_ssl=1, master_ssl_ca='/home/mysql/mysqlcerts/ca.pem', master_ssl_cert='/home/mysql/mysqlcerts/client-cert.pem', master_ssl_key='/home/mysql/mysqlcerts/client-key.pem' 、MASTER_CONNECT_RETRY=10 に変更します。

確認する:
メインデータベースがSSL認証で構成された後、クライアントはデフォルトでSSLを使用してログインします。

mysql -utest -h192.168.1.223 -ptest -P3307

(このアカウントは、SSL が設定されているかどうかに関係なくログインできます)

SSL なしでログインするコマンドは次のとおりです。

mysql -utest -h192.168.1.223 -ptest -P3307 --ssl-mode=DISABLED

(アカウントがSSLを必要とするように設定されている場合は、ログインできません)

以下もご興味があるかもしれません:
  • MySQL マスタースレーブレプリケーションの原理からインストールと設定までを包括的に解説します。
  • Windows で MySQL マスター スレーブ レプリケーションを構成する方法
  • MySQL マスタースレーブレプリケーション 読み書き分離の設定方法の詳細説明
  • MySQL 5.7 スレーブノードからマルチスレッド マスター スレーブ レプリケーションを構成する方法の詳細な説明
  • MySQL (マスター/スレーブ) マスタースレーブレプリケーションの原理と構成の図解による詳細な説明
  • MySQL5.6 マスタースレーブレプリケーション同期詳細設定(画像とテキスト)
  • 半同期および非同期のMySQLマスタースレーブレプリケーション構成の詳細な分析
  • MySQL マスタースレーブレプリケーション構成のハートビート機能の紹介
  • MySQL マスタースレーブレプリケーションの原理と設定方法(詳細)
  • MySQL マスタースレーブレプリケーション構成プロセス

<<:  Dockerコンテナの操作手順の概要と詳細説明

>>:  Linuxで中断されたシステムを呼び出す方法

推薦する

CSS3 フィルター (フィルタ) ウェブページのグレーまたは黒モードのサンプルコードを実現

フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...

CSSの複数条件の書き方の詳細説明:

:not疑似クラスセレクターは、式に一致しない要素をフィルタリングできます。例 テーブル tbod...

MySQL マスタースレーブレプリケーションの遅延の原因と解決策

目次レプリケーション ロジックの簡単な概要:遅延の原因と解決策〇メインデータベースへの頻繁なDMLリ...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた場合の解決策を参考までに共有します。具体的な内容は次のとお...

Linux でユーザー アカウントをロックおよびロック解除する 3 つの方法

組織内で何らかのパスワード ポリシーがすでに実装されている場合は、この記事を読む必要はありません。た...

HTML における水平および垂直の中央揃え方法の詳細な説明 (基礎)

序文馬を書いていたとき、水平方向と垂直方向の中央揃えの方法について、誰もあまり知らなかったと思います...

Tomcat パイプライン モードのパイプラインとバルブの詳細な説明

序文比較的複雑な大規模システムでは、複雑なロジックで処理する必要があるオブジェクトまたはデータ フロ...

MySql のサブクエリ内のクエリ例の詳細な説明

北西を見ると私の故郷はどこにあるでしょうか。南東の満月を何度見たことがあるでしょうか。月が再びゆっく...

Nginx 502 Bad Gateway エラーの原因と解決策

Nginx 502 Bad Gateway エラーに何度か遭遇しました。ここでメモしておこうと思いま...

HTMLのテーブルタグの基本学習チュートリアル

表ラベルの構成HTML 内の表は <table> タグで構成されており、ブラウザはタグを...

ストリーマーボタンの効果を実現するCSS3アニメーション

CSS3 を学習する過程で、CSS3 属性を使用すると多くのクールな効果を簡単に実現できることが分か...

CSS ボーダーは四隅の実装コードを追加します

1.html <div class="ログインボディ"> <...

Docker で Redis クラスターを素早く構築する方法の例

Redis クラスターとはRedis クラスターは、R​​edis が提供する分散データベース ソリ...

アイデアを使用して Springboot 初期化サーバーを構築する際の問題分析

問題の説明最近、Springbootプロジェクトを構築していたところ、会社のネットワークケーブルに接...

jsを使用してスライダーをドラッグする効果を実現します

この記事では、jsでスライダーをドラッグする方法の具体的なコードを参考までに共有します。具体的な内容...