mysql(8.0)_master-slave レプリケーション

1.環境紹介

自己的主机--master
同学的主机--slave

2.mysql をインストールする

https://blog.csdn.net/weixin_45955039/article/details/130144515?spm=1001.2014.3001.5501

3.準備

3.1 クラウドサーバーにポート番号を追加する

ここに画像の説明を挿入
ここに画像の説明を挿入

3.2 ファイアウォールをオフにする

systemctl stop firewalld
setenforce 0

4. マスターの設定

4.1 ファイル /etc/my.cnf に次の内容を追加します。忘れずに [mysqld] の下に追加してください。

vim /etc/my.cnf
server-id=1
log-bin=mysql-bin

ここに画像の説明を挿入

4.2 mysql サービスの再起動

systemctl stop mysqld
systemctl start mysqld

4.3 サービス ID が 1 かどうかを確認する

登录mysql
mysql -uroot -p123456
查看id
SHOW VARIABLES LIKE 'server_id';

ここに画像の説明を挿入

4.4 ホストからコピーする許可を与える

更改密码,先修改密码规则
set global validate_password.policy=0;
set global validate_password.length=1;
创建用户(这里不要建议使用root用户)
CREATE USER 'repl'@'%' IDENTIFIED BY '123456';
ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

ここに画像の説明を挿入

4.5 メイン ライブラリのステータスを表示する

ここで、ログ ファイルの名前と場所を覚えておいてください。

show master status;

ここに画像の説明を挿入

5.スレーブのインストールと設定

5.1 ファイル /etc/my.cnf に次の内容を追加します。忘れずに [mysqld] の下に追加してください。

vim /etc/my.cnf
server-id=2

ここに画像の説明を挿入

5.2 mysql サービスの開始

systemctl stop mysqld
systemctl start mysqld

5.3 サービス ID が 2 かどうかを確認する

登录mysql
 mysql -uroot -p123456
SHOW VARIABLES LIKE 'server_id';

ここに画像の説明を挿入

5.4 マスター IP、ユーザー名、パスワード、bin-log ファイル名、およびスレーブの位置を指定する

3.5を見るにはここのファイル名と位置がわからない

更改密码,先修改密码规则
set global validate_password.policy=0;
set global validate_password.length=1;
制定主节点
CHANGE MASTER TO
MASTER_HOST='101.43.248.178',
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=849;

説明します:

MASTER_HOST/SOURCE_HOST: マスター データベースのホスト IP
MASTER_PORT/SOURCE_PORT: マスター データベースのポート。設定されていない場合、デフォルトは 3306
です
。対応するユーザーパスワード
MASTER_LOG_FILE/SOURCE_LOG_FILE: バイナリログファイルの名前
MASTER_LOG_POS/SOURCE_LOG_POS : 位置の値 マスターデータベースでコマンド show master status を実行して照会した位置
ここに画像の説明を挿入

5.5 スレーブ サービスの開始

start slave;

ここに画像の説明を挿入

5.6 スレーブ サービスが正常に開始されたかどうかを確認する

両方のスレッドが成功するには「はい」

show slave status\G

ここに画像の説明を挿入

6. テスト

6.1 マスターにトンブ ライブラリを作成し、トンブ ライブラリにマスター テーブルを作成する

create database if not exists tongbu;
use tongbu;
CREATE TABLE IF NOT EXISTS master(
   info varchar(20) 
);

6.2 サーバーに移動して、同期ライブラリがあるかどうかを確認します

ここに画像の説明を挿入

6.3 サーバーに移動して、tongbu ライブラリにテーブル マスターがあるかどうかを確認します

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_45955039/article/details/130170116