CentOS8はMySQLデュアルアクティブおよび相互バックアップを構成します(centos8とMySQLをインストールします)

オペレーティングシステムcentos8と構成をインストールする

SSHを有効にする

  1. まず、CentOS8にopenssh-serverがインストールされていることを確認し、ターミナルに入力しますyum list installed | grep openssh-server
  2. openssh-serverがインストールされていないことを示す出力がない場合は、次のように入力します。 yum install openssh-server
  3. /etc/ssh/ディレクトリでsshdサービス構成ファイルを見つけると、コメントsshd_config#Port 22削除されます
  4. sshdサービスを開始します。 sudo service sshd start
  5. sshdサービスが開始されているかどうかを確認します。ps -e | grep sshd

MySQLをインストールして構成する

ミラーをダウンロード

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

インストールイメージ

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

システム上のMySQLパッケージをアップグレードする

次のコマンドを使用して、MySQLおよび関連コンポーネントをアップグレードします。
解決策1. MySQLサーバーの更新を指定します(推奨)。

yum update mysql-server
方案二.通过更新系统上的所有内容来更新MySQL(谨慎使用):
注意,这个方法需要谨慎使用,一般是在空白服务器的时候可以使用,因为有可能会把你系统中的其他软件都给升级了
yum update

MySQLサービスをインストールする

yum install mysql-server

データベースを初期化する

mysqld-初期化

サービスを開始

service mysqld start

制御プロセスがエラーコードで終了したため、mysqld.serviceのジョブが失敗しました。
詳細については、「systemctl status mysqld.service」および「journalctl -xe」を参照してください。

例外が発生した場合は、次のステートメントを実行します。

chown mysql:mysql -R /var/lib/mysql
service mysqld start
systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-09-26 17:42:23 CST; 6s ago
  Process: 30399 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
  Process: 30550 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 30464 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 30439 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 30501 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 38 (limit: 101224)
   Memory: 379.8M
   CGroup: /system.slice/mysqld.service
           └─30501 /usr/libexec/mysqld --basedir=/usr

9月 26 17:42:22 hx-mysql-01 systemd[1]: Starting MySQL 8.0 database server...
9月 26 17:42:23 hx-mysql-01 systemd[1]: Started MySQL 8.0 database server.

初期パスワードを変更する

パスワードを取得する

grep "password" /var/log/mysql/mysqld.log

2019-09-26T09:41:56.912605Z 5 [注意] [MY-010454] [サーバー] root @ localhostの一時的なパスワードが生成されます:ju7Ic#aQwyIJ

ログイン

mysql -u root -p
ALTER USER 'root'@'%' IDENTIFIED BY '-你的密码-';
flush privileges;
exit;

MySQLサービスを再起動します

service mysqld restart;

MySQLを自動的に開始するように設定する

systemctl enable mysqld


デュアルマスターとバックアップを構成する

  • ホスト1:172.29.60.145
  • ホスト2:172.29.60.146

MySQLのインストール172.29.60.145およびインストールの172.29.60.146完了中に、仮想ホストを直接コピーしないでください。

マスターファイルとスレーブファイルを構成する

172.29.60.145ホストで動作

修正/etc/my.cnf

[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
binlog-ignore-db=mysql,test,infromation_schema,sys,performance_schema
binlog-do-db=test1
master-host=172.29.60.146
master-port=3306
master-user=root
master-pass=KONGKONG
master-retry-count=999
master-connect-retry=60
[mysqld]
log-bin=bin-log
server-id=145

172.29.60.146ホストで動作

修正/etc/my.cnf

[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
binlog-ignore-db=mysql,test,infromation_schema,sys,performance_schema
binlog-do-db=test1
master-host=172.29.60.145
master-port=3306
master-user=root
master-pass=KONGKONG
master-retry-count=999
master-connect-retry=60
[mysqld]
log-bin=bin-log
server-id=146

相互に専用のユーザーを作成する(repl)

172.29.60.145ホストで動作

mysql -u root -p

mysql> CREATE USER 'repl'@'172.29.60.146' IDENTIFIED WITH mysql_native_password BY 'KONGKONG';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'172.29.60.146';
mysql> flush privileges;

172.29.60.146ホストで動作

mysql -u root -p

mysql> CREATE USER 'repl'@'172.29.60.145' IDENTIFIED WITH mysql_native_password BY 'KONGKONG';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'172.29.60.145';
mysql> flush privileges;

ログファイルマークの変更

172.29.60.145ホストで動作

mysql> SHOW MASTER STATUS;
+----------------+----------+--------------+------------------+-------------------+
| File           | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin-log.000002 |     3864 |              |                  |                   |
+----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

172.29.60.146ホストで動作

mysql> SHOW MASTER STATUS;
+----------------+----------+--------------+------------------+-------------------+
| File           | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin-log.000003 |     2443 |              |                  |                   |
+----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

172.29.60.145ホストで動作

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='172.29.60.146',MASTER_USER='repl',MASTER_PASSWORD='KONGKONG',MASTER_LOG_FILE='bin-log.000003',MASTER_LOG_POS=2443;
START SLAVE;

172.29.60.146ホストで動作

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='172.29.60.145',MASTER_USER='repl',MASTER_PASSWORD='KONGKONG',MASTER_LOG_FILE='bin-log.000002',MASTER_LOG_POS=3864;
START SLAVE;

設定が成功したかどうかを確認します

  • Slave_IO_Running:はい
  • Slave_SQL_Running:Yes
    上記の2つのパラメーターが両方ともであるYes場合、同期は成功しています。

172.29.60.145ホストで動作

mysql> SHOW SLAVE STATUS;
+----------------------------------+---------------+-------------+-------------+---------------+-----------------+---------------------+------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+
| Slave_IO_State                   | Master_Host   | Master_User | Master_Port | Connect_Retry | Master_Log_File | Read_Master_Log_Pos | Relay_Log_File               | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID                          | Master_Info_File        | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State                                | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position | Replicate_Rewrite_DB | Channel_Name | Master_TLS_Version | Master_public_key_path | Get_master_public_key |
+----------------------------------+---------------+-------------+-------------+---------------+-----------------+---------------------+------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+
| Waiting for master to send event | 172.29.60.146 | repl        |        3306 |            60 | bin-log.000004  |                 155 | hx-mysql-01-relay-bin.000002 |           320 | bin-log.000004        | Yes              | Yes               |                 |                     |                    |                        |                         |                             |          0 |            |            0 |                 155 |             534 | None            |                |             0 | No                 |                    |                    |                 |                   |                |                     0 | No                            |             0 |               |              0 |                |                             |              146 | 668ce869-f082-11e9-b456-ae0d77cbedee | mysql.slave_master_info |         0 |                NULL | Slave has read all relay log; waiting for more updates |              86400 |             |                         |                          |                |                    |                    |                   |             0 |                      |              |                    |                        |                     0 |
+----------------------------------+---------------+-------------+-------------+---------------+-----------------+---------------------+------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+
1 row in set (0.00 sec)

オペレーション:172.29.60.146

mysql> SHOW SLAVE STATUS;
+----------------------------------+---------------+-------------+-------------+---------------+-----------------+---------------------+------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+
| Slave_IO_State                   | Master_Host   | Master_User | Master_Port | Connect_Retry | Master_Log_File | Read_Master_Log_Pos | Relay_Log_File               | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID                          | Master_Info_File        | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State                                | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position | Replicate_Rewrite_DB | Channel_Name | Master_TLS_Version | Master_public_key_path | Get_master_public_key |
+----------------------------------+---------------+-------------+-------------+---------------+-----------------+---------------------+------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+
| Waiting for master to send event | 172.29.60.145 | repl        |        3306 |            60 | bin-log.000003  |                 155 | hx-mysql-02-relay-bin.000002 |           320 | bin-log.000003        | Yes              | Yes               |                 |                     |                    |                        |                         |                             |          0 |            |            0 |                 155 |             534 | None            |                |             0 | No                 |                    |                    |                 |                   |                |                     0 | No                            |             0 |               |              0 |                |                             |              145 | 323720bf-f083-11e9-bc77-4e1da18bea09 | mysql.slave_master_info |         0 |                NULL | Slave has read all relay log; waiting for more updates |              86400 |             |                         |                          |                |                    |                    |                   |             0 |                      |              |                    |                        |                     0 |
+----------------------------------+---------------+-------------+-------------+---------------+-----------------+---------------------+------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+--------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+


異常な状況

ログファイルが同期していません

バイナリログからデータを読み取るときにマスターから致命的なエラー1236が発生しました:「バイナリログインデックスファイルで最初のログファイル名が見つかりませんでした」

  • ログファイルが同期していません。ステップ3を再実行してください。

この操作は、実行中のスレーブIOスレッドでは実行できません。最初にSTOP SLAVE IO_THREAD FOR CHANNEL ''を実行します。

  • 実行:スレーブを停止します。

マスターとスレーブのMySQLサーバーIDが等しいため、スレーブI / Oスレッドが停止する

修改/etc/my.cnf

[client-server]
!includedir /etc/my.cnf.d
binlog-ignore-db=mysql,test,infromation_schema,sys,performance_schema
binlog-do-db=test1
master-host=172.29.60.146
master-port=3306
master-user=root
master-pass=***
master-retry-count=999
master-connect-retry=60
[mysqld]
log-bin=bin-log
server-id=145

テーブルtest1.userでWrite_rowsイベントを実行できませんでした。重複するエントリ '12'

マスターがレコードを削除する必要があり、スレーブがそれを見つけられないため、エラーを報告しますこの場合、マスターはそれを削除するので、スレーブはそれを直接スキップできます。利用可能なコマンド:

stop slave;
set global sql_slave_skip_counter=1;
start slave;
100件の元の記事を公開 106のように 270,000以上にアクセス

おすすめ

転載: blog.csdn.net/lglglgl/article/details/102684131