MySQLマスタースレーブデータベースの同期設定
1.サービスアイテムを開きます
インストール場所
を見つけてコピーを作成します
2.データベースからミニファイルを変更します
見つからない場合があります。これは、デフォルトのインストールを使用すると、ファイルが隠しフォルダーに保存されるためです。ファイル表示の隠しファイル設定を自分で設定する必要があります。
次に、programDataフォルダーの下にあるmysqlフォルダーを見つけて、
ポート番号を変更するにはコピーします。
スレーブデータベースのアドレス
を変更するスレーブデータベースのデータストレージのアドレスを変更する
3.データベースからインストールします
スレーブデータベースのbinディレクトリを入力し、コマンドウィンドウを開きます。コマンドを
入力し
mysqld install mysql-back --defaults-file= "C:\ProgramData\MySQL\MySQL Server 5.7-back\my.ini"
ます:後で指定するmy.iniのファイルアドレス、独自に変更します。
インストールが成功した場合は
、サービスで更新して確認します。これはデータのインストールであり、開始されません。フォローアップも構成する必要があり、最終的に開始します。
4.マスターデータベースとスレーブデータベースのmy.iniを変更して関連付けます
メインデータベースの変更
# 开启日志
log-bin=mysql-bin
プライマリデータベースのserver-idを確認してください。セカンダリデータベースは、プライマリデータベースと同じ構成になっていない必要があります。
同期するデータベースを設定し、システムデータベースを保護します。
# 设置需要同步的数据库
binlog-do-db=temporary
# 屏蔽系统库同步
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
データベースから変更する
server-id = 2
# 开启日志
log-bin=mysql-bin
# 设置需要同步的数据库
replicate_wild_do_table=temporary.%
# 屏蔽系统库同步
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
5.マスタースレーブデータベースを再起動します
ソフトウェアを使用してスレーブデータベースに接続します。
スレーブデータベースに
データがあり、現時点ではデータが同期されていないことがわかります。権限がないため、マスターデータベースで認証と設定を行う必要があります。
6.認証設定
GRANT REPLICATION SLAVE ON *.* TO '新建账户名'@'%'IDENTIFIED BY '新建的账户名(作为密码使用)';
更新
FLUSH PRIVILEGES;
ユーザーテーブルにout_right承認済みアカウントがあります
7.同期をオンにします
上記の操作により、スレーブデータベースとマスターデータベースのデータ構造は同じになりますが、データテーブルの挿入と削除時にデータが同期されません。データ同期設定は次のとおりです。
7.1メインデータベースのデータステータスを表示する
マスターデータベースで実行されている
show master status
ファイルと位置の値は、スレーブデータベースの設定で使用する必要があります
7.2データベースからの設定
最初に同期を停止
stop SLAVE;
し、データベースから実行します
メインデータベースに接続して同期の準備をします
CHANGE MASTER TO
# 主数据库地址
MASTER_HOST = 'localhost',
#授权的用户名和密码
MASTER_USER = 'out_right',
MASTER_PASSWORD = 'out_right',
#刚才查询的主数据库信息
MASTER_log_file = 'mysql-bin.000001',
MASTER_log_pos = 446;
同期の開始:
START SLAVE;
同期ステータスの表示
show SLAVE STATUS;
6.3違いはyesによって解決されます
スレーブデータベースのauto.cnfファイルはマスターデータベースに直接割り当てられているため、競合が発生し、スレーブデータベースのauto.cnfファイルを削除して、スレーブデータベースを再起動します。
サービスを再起動し
、ステータスについて問い合わせます。
stop slave;
start slave;
show slave status;