linux怎么查看本机内存大小
292
2022-10-08
linux操作系统centos7.9 mysql8.0 主从数据同步
mysql主从复制原理:
Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件,
这些记录叫做二进制日志事件(binary log events);
Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志(relay log);
Slave 重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执行一次,完
成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据重放)。
注意事项:
主从服务器操作系统版本和位数一致;
Master 和 Slave 数据库的版本要一致;
Master 和 Slave 数据库中的数据要一致;
Master 开启二进制日志, Master 和 Slave 的 server_id 在局域网内必须唯一;
本文以node1和node2为例:数据库版本都是8.0.20,以node1作为MASTER,node2作为slave。
先配置主节点(标红的为新增):
只需要配置mysqld,其他的都可以注释,从节点也是一样的。
vim /etc/my.cnf
[mysqld]
basedir=/var/local/mysql-8.0/
datadir=/var/local/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
log-bin=mysql-bin
server-id=1
从节点配置:
vim /etc/my.cnf
[mysqld]
basedir=/var/local/mysql-8.0/
datadir=/var/local/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
erver-id=2
主从配置完了之后,创建用于复制操作的用户。
在主节点上创建test用户,用于从节点连接主节点使用。
CREATE USER 'repl'@'192.168.107.102' IDENTIFIED WITH mysql_native_password BY 'Ron_master_1';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.107.102';
刷新授权表信息
flush privileges;
现在获取主节点当前的binlog文件名和位置。
记录下来,然后再从节点上设置主节点的master参数
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.107.101',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='Ron_master_1',
-> MASTER_LOG_FILE='binlog.000001',
-> MASTER_LOG_POS=2212;
Query OK, 0 rows affected, 2 warnings (0.08 sec)
mysql>
然后开启同步(注意关闭两边防火墙):
可以通过show slave status \G;该命令查看主从同步情况
遇到这个报错,是因为主机和丛机的server_id相同了,
所以要修改从机的值
set global server_id=2;
修改完了之后,从机要先执行stop 再执行start。
现在在执行show slave status \G;查看同步情况
进行测试验证:
主从数据同步成功。编写不易,望采纳!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~