转自 MySQL8.0主从部署配置详细步骤_mysql8主从配置_蜗牛大白牙的博客-CSDN博客
1、在两台服务器上安装mysql
ip |
角色 |
192.168.10.129 |
主 |
192.168.10.130 |
从 |
2、主服务器修改my.cnf文件
#服务器 id,随意,但要唯一 server-id=1 #二进制文件存放路径 log-bin=mysql-bin #参数用于排除自带的数据库。 binlog-ignore-db=mysql binlog-ignore-db=information_schema binlog-ignore-db=performance_schema #二进制日志格式,建议使用ROW格式以获得更好的兼容性和可靠性。 binlog-format=ROW
|
3、重启主服务器mysql
4、主服务器的数据库中创建用于复制的账户并授予相应的权限
#登录mysql mysql -uroot -p
use mysql; #创建用户 CREATE USER 'db_sync'@'%' IDENTIFIED BY 'Csdn@123'; #授权账号复制权限 GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%'; #刷新配置 FLUSH PRIVILEGES;
|
5、在主服务器上执行以下命令获取当前二进制日志文件的名称和位置
记录File 和 Position 值,后续在从服务器上使用
6、从服务器修改my.cnf文件
server-id=2 #中继日志文件的名称,用于从主服务器接收二进制日志事件。 relay-log=mysql-relay-bin #从服务器的二进制日志文件的名称。 log_bin=mysql-bin #不同步相关的库 replicate-ignore-db=mysql replicate-ignore-db=information_schema replicate-ignore-db=performance_schema
|
7、重启从服务器mysql
8、登录从服务器mysql,根据主服务器信息执行以下命令
#登录mysql mysql -uroot -p
use mysql;
CHANGE MASTER TO MASTER_HOST = '192.168.10.129', #主服务器ip MASTER_USER = 'db_sync', #主服务器创建的复制账户 MASTER_PASSWORD = 'Csdn@123', #复制账户的密码 #主服务器数据库上的file值(不能有空格) MASTER_LOG_FILE = 'mysql-bin.000001', #主服务器数据库的Position值 MASTER_LOG_POS = 156, get_master_public_key=1; #主服务器server-id #开启同步 start slave;
#查看同步状态 SHOW SLAVE STATUS\G;
|
Slave_IO_Running 和 Slave_SQL_Running 都为Yes,即配置成功