在 CentOS 系统上安装和配置 MySQL 主从复制环境的步骤与 Debian/Ubuntu 系统有所不同。以下是在 CentOS 系统上进行配置的详细步骤:
步骤 1:在主服务器上安装和配置 MySQL(10.206.0.13)
-
安装 MySQL 服务器:
- 首先,添加 MySQL Yum 仓库:
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 接着,安装 MySQL 服务器:
sudo yum install mysql-server
- 首先,添加 MySQL Yum 仓库:
-
启动 MySQL 服务并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
-
安全配置 MySQL:
- 初始安装完成后,MySQL 生成一个临时密码。使用以下命令查看密码:
sudo grep 'temporary password' /var/log/mysqld.log
- 运行安全安装脚本来设置 root 密码并完成其他安全设置:
sudo mysql_secure_installation
- 初始安装完成后,MySQL 生成一个临时密码。使用以下命令查看密码:
-
配置 MySQL 以支持复制:
- 编辑 MySQL 配置文件:
sudo vi /etc/my.cnf
- 在
[mysqld] 部分添加以下配置:server-id=1 log_bin=mysql-bin binlog_do_db=mydb # 替换为你的数据库名
- 保存并关闭文件。
- 编辑 MySQL 配置文件:
-
重启 MySQL 服务:
sudo systemctl restart mysqld
-
创建复制用户:
- 登录 MySQL:
mysql -u root -p
- 创建复制用户并授予权限:
CREATE USER 'replica'@'10.206.0.8' IDENTIFIED BY 'password'; -- 设置一个安全的密码 GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.206.0.8'; FLUSH PRIVILEGES; SHOW MASTER STATUS;
- 记录
File 和Position 的值,稍后在从服务器上配置时将需要这些信息。
- 登录 MySQL:
步骤 2:在从服务器上安装和配置 MySQL(10.206.0.8)
-
安装 MySQL 服务器:
- 添加 MySQL Yum 仓库:
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 安装 MySQL 服务器:
sudo yum install mysql-server
- 添加 MySQL Yum 仓库:
-
启动 MySQL 服务并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
-
安全配置 MySQL:
- 查看初始临时密码:
sudo grep 'temporary password' /var/log/mysqld.log
- 运行安全安装脚本:
sudo mysql_secure_installation
- 查看初始临时密码:
-
配置 MySQL 以支持复制:
- 编辑 MySQL 配置文件:
sudo vi /etc/my.cnf
- 在
[mysqld] 部分添加以下配置:server-id=2 relay_log=mysql-relay-bin
- 保存并关闭文件。
- 编辑 MySQL 配置文件:
-
重启 MySQL 服务:
sudo systemctl restart mysqld
-
配置从服务器以连接到主服务器:
- 登录 MySQL:
mysql -u root -p
- 设置复制并开始复制过程:
CHANGE MASTER TO MASTER_HOST='10.206.0.13', MASTER_USER='replica', MASTER_PASSWORD='password', -- 主服务器上设置的密码 MASTER_LOG_FILE='之前记录的文件名', MASTER_LOG_POS=之前记录的位置; START SLAVE; SHOW SLAVE STATUSG
- 确保 `Slave_IO_R
- 登录 MySQL:
主服务器的安装记录
Welcome to TencentOS 3 64bit Version 3.1 20230621 tlinux3.1-64bit-5.4.119-19.0009.28-20230621 Last failed login: Sat Jan 20 14:01:05 CST 2024 from 85.209.11.254 on ssh:notty There were 66324 failed login attempts since the last successful login. Last login: Sun Jan 7 16:08:16 2024 from 114.84.30.36 [root@node1 ~]# sudo apt update sudo: apt: command not found [root@node1 ~]# ls Changelog tmp.log [root@node1 ~]# cd /home [root@node1 home]# ls postgresql-master [root@node1 home]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e97b56c1293 postgres "docker-entrypoint.s…" 12 days ago Up 12 days 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp postgres-master [root@node1 home]# mkdir mysql-master [root@node1 home]# ls mysql-master postgresql-master [root@node1 home]# cd mysql-master/ [root@node1 mysql-master]# ls [root@node1 mysql-master]# cd sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm -bash: cd: too many arguments [root@node1 mysql-master]# sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Repository docker-ce-stable is listed more than once in the configuration Repository docker-ce-stable-source is listed more than once in the configuration Repository docker-ce-test is listed more than once in the configuration Repository docker-ce-test-source is listed more than once in the configuration TencentOS Server 3.1 - TencentOS 46 kB/s | 3.8 kB 00:00 TencentOS Server 3.1 - Updates 44 kB/s | 3.8 kB 00:00 TencentOS Server 3.1 - Updates 11 MB/s | 30 MB 00:02 TencentOS Server 3.1 - TencentOS-AppStream 55 kB/s | 4.2 kB 00:00 TencentOS Server 3.1 - TencentOS-AppStream 15 MB/s | 20 MB 00:01 TencentOS Server 3.1 - Base 41 kB/s | 3.0 kB 00:00 TencentOS Server 3.1 - AppStream 32 kB/s | 2.9 kB 00:00 TencentOS Server 3.1 - Extras 35 kB/s | 3.0 kB 00:00 TencentOS Server 3.1 - Extras 127 kB/s | 25 kB 00:00 TencentOS Server 3.1 - PowerTools 31 kB/s | 3.0 kB 00:00 Docker CE Stable - x86_64 47 kB/s | 3.5 kB 00:00 Extra Packages for TencentOS Server 3.1 - x86_64 257 kB/s | 4.7 kB 00:00 Extra Packages for TencentOS Server 3.1 - x86_64 27 MB/s | 16 MB 00:00 Extra Packages for TencentOS Server 3.1 Modular - x86_64 186 kB/s | 3.0 kB 00:00 Kubernetes 20 kB/s | 1.4 kB 00:00 mysql80-community-release-el7-3.noarch.rpm 5.7 kB/s | 25 kB 00:04 Dependencies resolved. ========================================================================================================================================================= Package Architecture Version Repository Size ========================================================================================================================================================= Installing: mysql80-community-release noarch el7-3 @commandline 25 k Transaction Summary ========================================================================================================================================================= Install 1 Package Total size: 25 k Installed size: 31 k Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : mysql80-community-release-el7-3.noarch 1/1 Verifying : mysql80-community-release-el7-3.noarch 1/1 Installed: mysql80-community-release-el7-3.noarch Complete! [root@node1 mysql-master]# sudo yum install mysql-server Repository docker-ce-stable is listed more than once in the configuration Repository docker-ce-stable-source is listed more than once in the configuration Repository docker-ce-test is listed more than once in the configuration Repository docker-ce-test-source is listed more than once in the configuration MySQL 8.0 Community Server 1.1 MB/s | 3.3 MB 00:03 MySQL Connectors Community 68 kB/s | 68 kB 00:00 MySQL Tools Community 472 kB/s | 1.1 MB 00:02 Dependencies resolved. ========================================================================================================================================================= Package Architecture Version Repository Size ========================================================================================================================================================= Installing: mysql-server x86_64 8.0.32-1.module+el8.8.0+484+537fff7e TencentOS-AppStream 32 M Installing dependencies: mecab x86_64 0.996-2.module+el8.8.0+484+537fff7e TencentOS-AppStream 392 k mysql-errmsg x86_64 8.0.32-1.module+el8.8.0+484+537fff7e TencentOS-AppStream 628 k protobuf-lite x86_64 3.5.0-15.tl3 Updates 148 k Transaction Summary ========================================================================================================================================================= Install 4 Packages Total download size: 33 M Installed size: 171 M Is this ok [y/N]: y Downloading Packages: (1/4): protobuf-lite-3.5.0-15.tl3.x86_64.rpm 635 kB/s | 148 kB 00:00 (2/4): mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64.rpm 1.2 MB/s | 392 kB 00:00 (3/4): mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64.rpm 1.6 MB/s | 628 kB 00:00 (4/4): mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64.rpm 17 MB/s | 32 MB 00:01 --------------------------------------------------------------------------------------------------------------------------------------------------------- Total 16 MB/s | 33 MB 00:02 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 1/4 Installing : mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 2/4 Running scriptlet: mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 2/4 Installing : protobuf-lite-3.5.0-15.tl3.x86_64 3/4 Running scriptlet: mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 Installing : mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 Running scriptlet: mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 ValueError: File context for /var/log/mysql(/.*)? already defined Verifying : protobuf-lite-3.5.0-15.tl3.x86_64 1/4 Verifying : mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 2/4 Verifying : mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 3/4 Verifying : mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 Installed: mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 protobuf-lite-3.5.0-15.tl3.x86_64 Complete! [root@node1 mysql-master]# sudo systemctl start mysqld [root@node1 mysql-master]# sudo systemctl enable mysqld Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service. [root@node1 mysql-master]# sudo systemctl enable mysqld [root@node1 mysql-master]# sudo grep 'temporary password' /var/log/mysqld.log grep: /var/log/mysqld.log: No such file or directory [root@node1 mysql-master]# sudo grep 'shtc@2024' /var/log/mysqld.log grep: /var/log/mysqld.log: No such file or directory [root@node1 mysql-master]# cd /var [root@node1 var]# ls account adm cache crash db empty ftp games gopher kerberos lib local lock log mail nis opt preserve run spool tmp yp [root@node1 var]# cd lo local/ lock/ log/ [root@node1 var]# cd lo local/ lock/ log/ [root@node1 var]# cd log [root@node1 log]# ls anaconda cloud-init.log dnf.librepo.log lastlog messages-20231231 secure spooler-20240107 audit cloud-init-output.log dnf.log maillog messages-20240107 secure-20231224 spooler-20240114 boot.log containers dnf.rpm.log maillog-20231224 messages-20240114 secure-20231231 sssd boot.log-20231214 cron hawkey.log maillog-20231231 mysql secure-20240107 wtmp boot.log-20231220 cron-20231224 hawkey.log-20231217 maillog-20240107 pods secure-20240114 btmp cron-20231231 hawkey.log-20231224 maillog-20240114 private spooler btmp-20240101 cron-20240107 iptraf-ng messages qcloud_action.log spooler-20231224 chrony cron-20240114 kdump.log messages-20231224 sa spooler-20231231 [root@node1 log]# cd mysql [root@node1 mysql]# ls mysqld.log [root@node1 mysql]# sudo grep 'shtc@2024' /var/log/mysql/mysqld.log [root@node1 mysql]# sudo mysql_secure_installation Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 Please set the password for root here. New password: Re-enter new password: Sorry, passwords do not match. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done! [root@node1 mysql]# [root@node1 mysql]# sudo vi /etc/my.cnf [root@node1 mysql]# sudo vi /etc/my.cnf [root@node1 mysql]# cd /etc/my.cnf.d/ [root@node1 my.cnf.d]# ls client.cnf mysql-default-authentication-plugin.cnf mysql-server.cnf [root@node1 my.cnf.d]# vi mysql-server.cnf [root@node1 my.cnf.d]# sudo systemctl restart mysqld [root@node1 my.cnf.d]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 8 Server version: 8.0.32 Source distribution Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> CREATE USER 'replica'@'10.206.0.8' IDENTIFIED BY 'Shtc@2024'; Query OK, 0 rows affected (0.01 sec) mysql> GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.206.0.8'; Query OK, 0 rows affected (0.01 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 851 | mysqldb | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) mysql>
从服务器的安装记录
Welcome to TencentOS 3 64bit Version 3.1 20230621 tlinux3.1-64bit-5.4.119-19.0009.28-20230621 Last failed login: Sat Jan 20 14:19:36 CST 2024 from 157.245.199.76 on ssh:notty There were 52883 failed login attempts since the last successful login. Last login: Sun Jan 7 16:09:23 2024 from 114.84.30.36 [root@node2 ~]# sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Repository docker-ce-stable is listed more than once in the configuration Repository docker-ce-stable-source is listed more than once in the configuration Repository docker-ce-test is listed more than once in the configuration Repository docker-ce-test-source is listed more than once in the configuration TencentOS Server 3.1 - TencentOS 48 kB/s | 3.8 kB 00:00 TencentOS Server 3.1 - Updates 46 kB/s | 3.8 kB 00:00 TencentOS Server 3.1 - Updates 26 MB/s | 30 MB 00:01 TencentOS Server 3.1 - TencentOS-AppStream 51 kB/s | 4.2 kB 00:00 TencentOS Server 3.1 - TencentOS-AppStream 20 MB/s | 20 MB 00:01 TencentOS Server 3.1 - Base 38 kB/s | 3.0 kB 00:00 TencentOS Server 3.1 - AppStream 35 kB/s | 2.9 kB 00:00 TencentOS Server 3.1 - Extras 37 kB/s | 3.0 kB 00:00 TencentOS Server 3.1 - Extras 123 kB/s | 25 kB 00:00 TencentOS Server 3.1 - PowerTools 37 kB/s | 3.0 kB 00:00 Docker CE Stable - x86_64 43 kB/s | 3.5 kB 00:00 Extra Packages for TencentOS Server 3.1 - x86_64 241 kB/s | 4.7 kB 00:00 Extra Packages for TencentOS Server 3.1 - x86_64 26 MB/s | 16 MB 00:00 Extra Packages for TencentOS Server 3.1 Modular - x86_64 136 kB/s | 3.0 kB 00:00 Kubernetes 47 kB/s | 1.4 kB 00:00 mysql80-community-release-el7-3.noarch.rpm 7.6 kB/s | 25 kB 00:03 Dependencies resolved. ========================================================================================================================================================= Package Architecture Version Repository Size ========================================================================================================================================================= Installing: mysql80-community-release noarch el7-3 @commandline 25 k Transaction Summary ========================================================================================================================================================= Install 1 Package Total size: 25 k Installed size: 31 k Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : mysql80-community-release-el7-3.noarch 1/1 Verifying : mysql80-community-release-el7-3.noarch 1/1 Installed: mysql80-community-release-el7-3.noarch Complete! [root@node2 ~]# sudo yum install mysql-server Repository docker-ce-stable is listed more than once in the configuration Repository docker-ce-stable-source is listed more than once in the configuration Repository docker-ce-test is listed more than once in the configuration Repository docker-ce-test-source is listed more than once in the configuration MySQL 8.0 Community Server 95 kB/s | 3.3 MB 00:35 MySQL Connectors Community 16 kB/s | 68 kB 00:04 MySQL Tools Community 80 kB/s | 1.1 MB 00:14 Dependencies resolved. ========================================================================================================================================================= Package Architecture Version Repository Size ========================================================================================================================================================= Installing: mysql-server x86_64 8.0.32-1.module+el8.8.0+484+537fff7e TencentOS-AppStream 32 M Installing dependencies: mecab x86_64 0.996-2.module+el8.8.0+484+537fff7e TencentOS-AppStream 392 k mysql-errmsg x86_64 8.0.32-1.module+el8.8.0+484+537fff7e TencentOS-AppStream 628 k protobuf-lite x86_64 3.5.0-15.tl3 Updates 148 k Transaction Summary ========================================================================================================================================================= Install 4 Packages Total download size: 33 M Installed size: 171 M Is this ok [y/N]: y Downloading Packages: (1/4): protobuf-lite-3.5.0-15.tl3.x86_64.rpm 670 kB/s | 148 kB 00:00 (2/4): mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64.rpm 1.2 MB/s | 392 kB 00:00 (3/4): mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64.rpm 1.4 MB/s | 628 kB 00:00 (4/4): mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64.rpm 10 MB/s | 32 MB 00:03 --------------------------------------------------------------------------------------------------------------------------------------------------------- Total 9.8 MB/s | 33 MB 00:03 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 1/4 Installing : mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 2/4 Running scriptlet: mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 2/4 Installing : protobuf-lite-3.5.0-15.tl3.x86_64 3/4 Running scriptlet: mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 Installing : mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 Running scriptlet: mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 ValueError: File context for /var/log/mysql(/.*)? already defined Verifying : protobuf-lite-3.5.0-15.tl3.x86_64 1/4 Verifying : mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 2/4 Verifying : mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 3/4 Verifying : mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 4/4 Installed: mecab-0.996-2.module+el8.8.0+484+537fff7e.x86_64 mysql-errmsg-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 mysql-server-8.0.32-1.module+el8.8.0+484+537fff7e.x86_64 protobuf-lite-3.5.0-15.tl3.x86_64 Complete! [root@node2 ~]# sudo systemctl start mysqld [root@node2 ~]# sudo systemctl enable mysqld Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service. [root@node2 ~]# sduo grep 'shtc@2024' /var/log/mysql/mysqld.log bash: sduo: command not found... Similar command is: 'sudo' [root@node2 ~]# grep 'shtc@2024' /var/log/mysql/mysqld.log [root@node2 ~]# sudo mysql_secure_installation Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done! [root@node2 ~]# sudo vi /etc/my.cnf [root@node2 ~]# cd /etc/my.cnf/ -bash: cd: /etc/my.cnf/: Not a directory [root@node2 ~]# cd /etc/my.cnf.d/ [root@node2 my.cnf.d]# ls client.cnf mysql-default-authentication-plugin.cnf mysql-server.cnf [root@node2 my.cnf.d]# vi mysql-server.cnf [root@node2 my.cnf.d]# sudo systemctl restart mysqld [root@node2 my.cnf.d]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 8 Server version: 8.0.32 Source distribution Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> CHANGE MASTER TO -> MASTER_HOST='10.206.0.13', -> MASTER_USER='replica', -> MASTER_PASSWORD='password', -- 主服务器上设置的密码 -> MASTER_LOG_FILE='之前记录的文件名', -> MASTER_LOG_POS=之前记录的位置; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '之前记录的位置' at line 6 mysql> mysql> START SLAVE; ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO mysql> mysql> SHOW SLAVE STATUSG Empty set, 1 warning (0.00 sec) mysql> CHANGE MASTER TO -> MASTER_HOST='10.206.0.13', -> MASTER_USER='replica', -> MASTER_PASSWORD='Shtc@2024', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=851; Query OK, 0 rows affected, 8 warnings (0.02 sec) mysql> START SLAVE; Query OK, 0 rows affected, 1 warning (0.02 sec) mysql> show SLAVE STATUSG; *************************** 1. row *************************** Slave_IO_State: Waiting for source to send event Master_Host: 10.206.0.13 Master_User: replica Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 851 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 326 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 851 Relay_Log_Space: 536 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: 65496a81-b75a-11ee-8979-5254005b393e Master_Info_File: mysql.slave_master_info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: Master_public_key_path: Get_master_public_key: 0 Network_Namespace: 1 row in set, 1 warning (0.00 sec) ERROR: No query specified mysql> show SLAVE STATUSG *************************** 1. row *************************** Slave_IO_State: Waiting for source to send event Master_Host: 10.206.0.13 Master_User: replica Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 851 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 326 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 851 Relay_Log_Space: 536 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: 65496a81-b75a-11ee-8979-5254005b393e Master_Info_File: mysql.slave_master_info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: Master_public_key_path: Get_master_public_key: 0 Network_Namespace: 1 row in set, 1 warning (0.00 sec) mysql>