Linux搭建MySQL主从复制

一、环境介绍

系统环境:CentOS7.6
MySQL版本:8.0.15
MySQL MASTER IP:172.25.11.154
MySQL SLAVE IP:172.25.11.164

二、部署过程

1、分别在主从数据库服务器上安装MySQL,安装过程参考MySQL自定义安装过程,主从数据库配置文件内容如下:

[mysqld]
user=root
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/log/mysql-err.log
default_authentication_plugin=mysql_native_password
socket=/tmp/mysql.sock
max_connections=10000
max_connect_errors=10
lower-case-table-names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set =utf8
[client]
port=3306
default-character-set =utf8

2、开启主库二进制日志功能,新增同步用户,赋予同步权限:
主库配置文件的 [mysqld] 中新增以下内容,并重启主库数据库服务:

server-id=1
log-bin=/usr/local/mysql/log/mysql-bin
binlog_format=MIXED
log_bin_trust_function_creators=1
expire_logs_days=14

登陆进数据库,新增同步用户,赋予 REPLICATION SLAVE 权限:

CREATE USER 'repl'@'172.25.11.164' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'172.25.11.164';
flush privileges; 

查看主数据库状态,需要记住 File 和 Position 的值,这两个值随着数据库操作而变化:
Linux搭建MySQL主从复制_第1张图片
3、修改从数据库配置参数,在 [mysqld] 中新增以下内容,并重启从库数据库服务:

server-id=3
log_bin_trust_function_creators=1
expire_logs_days=14

登陆进数据库,指定同步数据源:

CHANGE MASTER TO MASTER_HOST='172.25.11.154', 
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=841;
开启同步:
start slave;

查看同步状态:
Linux搭建MySQL主从复制_第2张图片
4、验证同步功能:
在主库上新增一个测试库repltest,稍后在从库上也新增一个相同的库,证明同步成功:

Linux搭建MySQL主从复制_第3张图片
Linux搭建MySQL主从复制_第4张图片

你可能感兴趣的:(Linux搭建MySQL主从复制)