IP地址 |
角色 |
系统版本 |
内核 |
软件包名称 |
192.168.2.3 |
Mysql主服务器 |
CentOS Stream 9 |
5.14.0- 381.el9.x86_64 |
mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz |
192.168.2.4 |
Mysql从服务器 |
CentOS Stream 9 |
5.14.0- 381.el9.x86_64 |
mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz |
部署脚本,较为粗制,大家谨慎使用。
</data/mysql/mysql3316/conf/my3316.cnf<
vim /etc/profile
启动
alias my3316start='cd /usr/local/mysql && ./bin/mysqld_safe --defaults-file=/data/mysql/mysql3316/conf/my3316.cnf &'
关闭
alias my3316stop='cd /usr/local/mysql && ./bin/mysqladmin -S /data/mysql/mysql3316/run/mysql3316.sock shutdown'
进入
alias my3316jq='mysql -S /data/mysql/mysql3316/run/mysql3316.sock'
刷新
source /etc/profile
主从服务器都须修改
50行log-bin=/data/mysql/mysql3316/logs/mysql-bin
开启二进制日志
51行server-id= 主从配置必须不同,按照自己规划进行配置,这里不做要求
53行gtid_mode = on
开启gtid模式
54行enforce_gtid_consistency = 1
强制gtid一致性,开启后对特定的create table不被支持
55行的log_slave_updates = 1
从库binlog才会记录主库同步的操作日志
log-bin-index = /data/mysql/mysql3316/logs/mysql-bin.index
skip-slave-start = 1
跳过slave复制线程
注意:修改完成配置文件之后如果此时mysql服务器开启则,重启mysql服务器。
注意:如果之前mysql数据库有重要的数据的话,首先将数据库的文件 备份,之后再进行数据同步。
创建repl用户并且允许192.168.2网段的主机登录,密码为repl@123
create user repl@'192.168.2.%' identified with 'mysql_native_password' by 'repl@123';
授予repl用户使用192.168.2网段登录时,有数据同步的权限。
grant replication slave on *.* to 'repl'@'192.168.2.%';
change master to
master_host='192.168.2.3', #指向ip地址
master_port=3316, #指向该主机的mysql端口
master_user='repl', #使用的用户
master_password='repl@123', #使用的密码
master_auto_position=1;
在mysql从服务器上开启同步
start slave;
查看同步的状态
show slave status\G
如图显示 双yes
并且查看一下Seconds_Behind_Master字段的信息,如果显示为0,代表同步完成。