MySQLマスター同期、マスター相互準備
3717 ワード
ネット上で見たドキュメントは、自分でテストに成功しました.メモしてください.
一、実験環境1.システム:CentOS 7 2.MySql:MySql5.7.16 3、サーバー:マスター:192.168.4.193スレーブ:192.168.4.194二、具体的な手順マスタサーバMySqlを閉じ、プロファイルmyを変更する.cnf1).my.cnf:メイン:[mysqld]log-bin=mysql-bin server-id=1スレーブ:[mysqld]server-id=2注記:server-idは一意でなければなりません.デフォルトが0の場合、プライマリ・サーバへの接続は拒否されます.2.主:1).マスターのMysqlサービス2)を起動します.ユーザーを作成し、slaveサーバを接続用に使用する.
例:
IPアドレスは*で表すことができて、すべてのipで注釈を接続することができます:簡単にユーザーを作成して、REPLICATION SLAVE権限を付与します.アクセス制限,パスワード,ユーザ名など,実際の状況に応じてそれぞれ3)を設定.取得ログ座標設定リードロック
例:
4)./tmp/dbdump.dbはデータベース/bin/mysql-uroot-p5).slaveステータスの表示
マスター同期:master、slaveロールを交換して控訴ステップを実行すればよい.エラーコード:1130:原因は複数ある1).SELINUXTYPE=targeted非表示SELINUX=disabledサーバ2を再起動するため、SElinuxファイアウォールを完全に閉じていない理由vim/etc/sysconfig/selinuxSELINUX=enforcing非表示SELINUXTYPE=targeted非表示SELINUX=disabled.実行アクセスipセグメントマスター:update user set host='%'where user='mysqlUser;flush privileges;例えば、update user set host='%'where user='test';
一、実験環境1.システム:CentOS 7 2.MySql:MySql5.7.16 3、サーバー:マスター:192.168.4.193スレーブ:192.168.4.194二、具体的な手順
CREATE USER 'mysqlUser'@'ip' IDENTIFIED BY 'mysqlPassword';
GRANT REPLICATION SLAVE ON *.* TO 'mysqlUser'@'ip';
例:
CREATE USER ‘test’@’192.168.4.193’ IDENTIFIED BY ‘test1234!’;
GRANT REPLICATION SLAVE ON . TO ‘test’@’192.168.4.193.’;
IPアドレスは*で表すことができて、すべてのipで注釈を接続することができます:簡単にユーザーを作成して、REPLICATION SLAVE権限を付与します.アクセス制限,パスワード,ユーザ名など,実際の状況に応じてそれぞれ3)を設定.取得ログ座標設定リードロック
FLUSH TABLES WITH READ LOCK;
ログ座標SHOW MASTER STATUS;+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| mysql-bin.000001|1608||+-----------------------------------+----------------------------+---------------------+-----------------------------------+------------------------------------------------------------------------------------000001,16083).マスターに必要な同期データをエクスポートするmysqldump--all-databases--master-data-uroot-p>/tmp/dbdump.dbその後ロック解除:UNLOCK TABLES;dbdump.dbはslaveサーバのtmpディレクトリの下にコピーする.から:1).my.cnfファイルの下に[mysqld]skip-slave-start=true read_を追加only=ON relay-log=relay-bin relay-log-index=relay-bin.index 2).slaveデータベースの起動SHOW SLAVE STATUS;
CHANGE MASTER TO
MASTER_HOST='IP',
MASTER_USER='mysqlUser',
MASTER_PASSWORD='mysqlPassword',
MASTER_LOG_FILE=' File',
MASTER_LOG_POS= Position;
例:
CHANGE MASTER TO
MASTER_HOST=’192.168.4.13’,
MASTER_USER=’test’,
MASTER_PASSWORD=’test1234!’,
MASTER_LOG_FILE=’mysql-bin.000001’,
MASTER_LOG_POS=1608;
4)./tmp/dbdump.dbはデータベース/bin/mysql-uroot-p5).slaveステータスの表示
show slave status \G;
Slave_IO_State: Master_Host: 192.168.4.193 Master_User: qfmyy Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 1608 Relay_Log_File: relay-bin.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: No Slave_SQL_Running:No見て:Slave_IO_Running: No Slave_SQL_Running: No 6).起動slave:start slave;
Slave_IO_State: Waiting for master to send event Master_Host: 192.168.4.193 Master_User: qfmyy Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000006 Read_Master_Log_Pos: 1608 Relay_Log_File: relay-bin.000002 Relay_Log_Pos: 320 Relay_Master_Log_File: mysql-bin.000006 Slave_IO_Running: Yes Slave_SQL_Running:Yes Slaveを見たIO_Running: Yes Slave_SQL_Running:Yes同期成功!マスター同期:master、slaveロールを交換して控訴ステップを実行すればよい.エラーコード:1130:原因は複数ある1).SELINUXTYPE=targeted非表示SELINUX=disabledサーバ2を再起動するため、SElinuxファイアウォールを完全に閉じていない理由vim/etc/sysconfig/selinuxSELINUX=enforcing非表示SELINUXTYPE=targeted非表示SELINUX=disabled.実行アクセスipセグメントマスター:update user set host='%'where user='mysqlUser;flush privileges;例えば、update user set host='%'where user='test';