MySqlデータベースの主従とデュアルマシンホットスペアの実現
23346 ワード
MySqlデータベースの主従とデュアルマシンホットスペアの実現
インストールリファレンス
https://blog.csdn.net/lswzw/article/details/89151740
プライマリ・スレーブ・レプリケーションの実装(2つのデータのデータが一致することが望ましい.そうしないと問題が発生し、プライマリ・スレーブの実装、デュアル・ホット・スペアの実装)
時間も必ず同期して
1.主従都操作
2.メインサーバーの操作
MySQLへ
バックアップ専用アカウントの作成
3.サーバからの操作
注意:この時点のmysqlはすでに起動しているため、uuidのサービス番号が自動的に保持され、この番号ファイル(auto.cnf)は削除しないと主従を実現できません.
主従を開く
MySQLへ
パラメータの説明:master_host=プライマリサーバIP master_user=プライマリ・サーバに作成されたバックアップ・ユーザー名master_password=バックアップユーザーパスワードmaster_log_file=マスター(プライマリサーバ)の状態をクエリしたファイル列の値マスター_log_pos=Position列の値start slave:サーバからのレプリケーション機能の起動
4.ステータスの表示
データベースを新規作成し、テーブルを数枚作成して、スレーブライブラリに同期しているかどうかを確認し、同期すればOKです(スレーブライブラリに追加しないでください)
主な操作:
操作から:
5.デュアルマシンのホットスペアを実現
主従を構築するプロセスを逆に実行すればよい
1.サーバからの操作
バックアップ専用アカウントの作成
2.メインサーバーの操作
デュアルマシンホットスペアの構築が完了しました.
2つのmysqlデータベースは互いに主従しており、書き込み、読み取りが可能であり、データベースの高可用性を実現しています.
インストールリファレンス
https://blog.csdn.net/lswzw/article/details/89151740
プライマリ・スレーブ・レプリケーションの実装(2つのデータのデータが一致することが望ましい.そうしないと問題が発生し、プライマリ・スレーブの実装、デュアル・ホット・スペアの実装)
時間も必ず同期して
1.主従都操作
vi /etc/my.cnf
:
:
server-id=1 #[ ] ID, 1
log-bin=mysql-bin #[ ]
:
server-id=2
log-bin=mysql-bin
server-id .
2.メインサーバーの操作
MySQLへ
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 154 | | | |
+------------------+----------+--------------+------------------+-------------------+
File Position 。
バックアップ専用アカウントの作成
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'192.168.1.%' IDENTIFIED BY 'Backup@123';
# :backup : Backup@123 :192.168.1.0 ip
mysql> flush privileges;
#
3.サーバからの操作
注意:この時点のmysqlはすでに起動しているため、uuidのサービス番号が自動的に保持され、この番号ファイル(auto.cnf)は削除しないと主従を実現できません.
[root@mysql02 ~]# find / -name 'auto.cnf'
/var/lib/mysql/auto.cnf
[root@mysql02 ~]# cat /var/lib/mysql/auto.cnf
[auto]
server-uuid=10271616-5a93-11e9-ac44-00505698d778
[root@mysql02 ~]# rm -f /var/lib/mysql/auto.cnf
主従を開く
MySQLへ
CHANGE MASTER to MASTER_HOST="192.168.1.44",
MASTER_PORT=3306,
MASTER_user="backup",
MASTER_PASSWORD="Backup@123",
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=154;
start slave;
パラメータの説明:master_host=プライマリサーバIP master_user=プライマリ・サーバに作成されたバックアップ・ユーザー名master_password=バックアップユーザーパスワードmaster_log_file=マスター(プライマリサーバ)の状態をクエリしたファイル列の値マスター_log_pos=Position列の値start slave:サーバからのレプリケーション機能の起動
4.ステータスの表示
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.44
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 1053
Relay_Log_File: mysql02-relay-bin.000002
Relay_Log_Pos: 1219
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Yes,
データベースを新規作成し、テーブルを数枚作成して、スレーブライブラリに同期しているかどうかを確認し、同期すればOKです(スレーブライブラリに追加しないでください)
主な操作:
mysql> create database db_test_slave;
mysql> use db_test_slave;
mysql> create table tb_test(id int(3), name varchar(50));
mysql> insert into tb_test values(1,'hello slave');
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_test_slave |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
操作から:
mysql> show databases; use db_test_slave; select * from tb_test;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_test_slave |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
+------+-------------+
| id | name |
+------+-------------+
| 1 | hello slave |
+------+-------------+
1 row in set (0.00 sec)
5.デュアルマシンのホットスペアを実現
主従を構築するプロセスを逆に実行すればよい
1.サーバからの操作
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 154 | | | |
+------------------+----------+--------------+------------------+-------------------+
バックアップ専用アカウントの作成
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'192.168.1.%' IDENTIFIED BY 'Backup@123';
# :backup : Backup@123 :192.168.1.0 ip
mysql> flush privileges;
#
2.メインサーバーの操作
CHANGE MASTER to MASTER_HOST="192.168.1.45",
MASTER_PORT=3306,
MASTER_user="backup",
MASTER_PASSWORD="Backup@123",
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=154;
start slave;
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.45
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 1053
Relay_Log_File: mysql02-relay-bin.000002
Relay_Log_Pos: 1219
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Yes,
デュアルマシンホットスペアの構築が完了しました.
2つのmysqlデータベースは互いに主従しており、書き込み、読み取りが可能であり、データベースの高可用性を実現しています.