,[mysqld],serverid=1,logbin=mysqlbin,binlogformat=mixed,
`,,2. 重启主服务器上的MySQL服务。,,3. 在从服务器上,编辑my.cnf文件,添加以下内容:,,
`,[mysqld],serverid=2,relaylog=relaybin,readonly,
`,,4. 重启从服务器上的MySQL服务。,,5. 在主服务器上,创建一个用于复制的用户并授权:,,
`sql,CREATE USER 'repl'@'从服务器IP' IDENTIFIED BY '密码';,GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从服务器IP';,FLUSH PRIVILEGES;,
`,,6. 在从服务器上,执行以下命令来配置主从复制:,,
`sql,CHANGE MASTER TO, MASTER_HOST='主服务器IP',, MASTER_USER='repl',, MASTER_PASSWORD='密码',, MASTER_LOG_FILE='主服务器上的二进制日志文件名',, MASTER_LOG_POS=主服务器上的二进制日志位置;,
`,,7. 启动从服务器上的复制进程:,,
`sql,START SLAVE;,
`,,8. 检查从服务器上的复制状态:,,
`sql,SHOW SLAVE STATUSG;,
`,,Slave_IO_Running
和Slave_SQL_Running
的值都为Yes
,则表示主从复制已经成功部署。MySQL 主从复制是一种数据复制技术,可以将一个MySQL数据库的数据复制到多个MySQL数据库中,以实现数据备份、负载均衡和高可用性等目的,在 MySQL 主从复制中,主节点(Master)将数据改变记录到二进制日志(binary log)中,这些记录叫做二进制日志事件;从节点(Slave)通过读取这些二进制日志事件来更新自己的数据,从而实现数据的同步。
快速部署 MySQL 主从复制的步骤
1、关闭防火墙:
在两台主机上执行以下命令以关闭防火墙:
“`bash
systemctl stop firewalld
systemctl disable firewalld
“`
2、修改配置文件:
在两台主机上,编辑 MySQL 配置文件/etc/my.cnf
,增加如下内容:
“`ini
[mysqld]
serverid=1
“`
注意:对于主节点,serverid 应设置为 1;对于从节点,serverid 应设置为其他值,且不能与主节点相同。
3、启动二进制日志系统:
仅在主节点上,编辑/etc/my.cnf
文件,添加以下参数:
“`ini
[mysqld]
logbin=mysqlbin
“`
4、启用中继日志:
仅在从节点上,编辑/etc/my.cnf
文件,添加以下参数:
“`ini
[mysqld]
relaylog=relaybin
“`
5、重启 MySQL 服务:
在两台主机上重启 MySQL 服务:
“`bash
systemctl restart mysqld
“`
6、测试主从复制:
在主节点的test
数据库中创建表test
,并插入数据;然后在从节点查看数据是否同步。
Docker 化 MySQL 主从复制
Docker 化 MySQL 主从复制是一种利用容器技术高效部署和管理 MySQL 高可用架构的方法,通过在 Docker 容器中分别运行一个主 MySQL 服务器和一个或多个从 MySQL 服务器,结合 Docker 的网络隔离与资源控制功能,可以简化 MySQL 主从复制的部署和管理过程。
FAQs
1、为什么需要 MySQL 主从复制?
MySQL 主从复制的主要作用包括数据热备、架构扩展和读写分离,作为数据的热备,当主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失,它也支持架构的扩展和提高系统的可用性和性能。
2、如何验证 MySQL 主从复制是否成功?
可以在主节点的数据库中创建表并插入数据,然后在从节点查看数据是否同步,如果从节点能够正确显示主节点中新插入的数据,则说明主从复制配置成功。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1115672.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复