MySQL实现一主对多从配置详解
1. 环境准备
为了实现MySQL的一主对多从配置,我们需要准备以下环境:
主服务器(Master):安装MySQL服务,用于存储数据和同步数据到从服务器。
从服务器(Slave):安装MySQL服务,用于接收主服务器同步的数据。
2. 主服务器配置
2.1 修改配置文件
在主服务器上,编辑MySQL的配置文件my.cnf
,通常位于/etc/mysql/
目录下,在[mysqld]
部分添加以下内容:
serverid=1 logbin=mysqlbin binlogformat=mixed
这里,serverid
用于标识主服务器,logbin
指定二进制日志文件名,binlogformat
设置二进制日志格式为混合模式。
2.2 重启MySQL服务
保存配置文件后,重启MySQL服务以使配置生效,可以使用以下命令重启服务:
sudo service mysql restart
3. 从服务器配置
3.1 修改配置文件
在从服务器上,编辑MySQL的配置文件my.cnf
,通常位于/etc/mysql/
目录下,在[mysqld]
部分添加以下内容:
serverid=2 relaylog=relaybin
这里,serverid
用于标识从服务器,relaylog
指定中继日志文件名。
3.2 重启MySQL服务
保存配置文件后,重启MySQL服务以使配置生效,可以使用以下命令重启服务:
sudo service mysql restart
4. 主从复制配置
4.1 主服务器授权
在主服务器上,使用以下命令授权从服务器连接:
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
这里,将slave_user
替换为从服务器的用户名,password
替换为从服务器的密码。
4.2 获取主服务器信息
在主服务器上,使用以下命令获取主服务器的二进制日志文件名和位置:
SHOW MASTER STATUS;
记录下File
和Position
的值,稍后在从服务器上配置时需要使用。
4.3 从服务器配置
在从服务器上,使用以下命令配置主从复制:
CHANGE MASTER TO MASTER_HOST='master_host_ip', MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='file_name', MASTER_LOG_POS=position;
这里,将master_host_ip
替换为主服务器的IP地址,slave_user
替换为从服务器的用户名,password
替换为从服务器的密码,file_name
替换为主服务器上的二进制日志文件名,position
替换为主服务器上的二进制日志位置。
4.4 启动从服务器复制
在从服务器上,使用以下命令启动从服务器复制:
START SLAVE;
4.5 查看从服务器状态
在从服务器上,使用以下命令查看从服务器复制状态:
SHOW SLAVE STATUSG;
如果Slave_IO_Running
和Slave_SQL_Running
的值都是Yes
,则表示主从复制已经成功配置。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。