最近免费试用了一下云服务器,然后在两台服务器上安装了Mysql并搭建了主从同步数据库。mysql数据库的安装,大家可以去查看我的另一篇博客文章,下面为大家介绍搭建步骤及原理。原理
mysql主节点即master节点在每次对数据库执行操作后会将操作写入到本地的二进制日志(binary log)中,从节点slave会使用I/O Thread线程去监听和读取主节点的binary log数据,如果有修改,则更新自己的Relay log日志,然后使用SQL thread线程将Relay log中的日志对数据库进行操作。从而实现了主从同步。
配置过程
1. 主节点编辑配置文件
vim /etc/my.cnf
添加如下配置:
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
注: 多台节点的server-id必须不同,否则会出现异常。
重启数据库,使得配置生效:
service mysqld restart
2. 进入主节点mysql,创建用户:
create user 'username'@'ip' identified by 'password';
注:ip即允许连接的ip地址,安全起见可以写slave从节点的ip,或者直接写%代表所有ip均可以连接。
3. 对用户进行权限设置:
grant replication slave on *.* to 'username'@'ip';
注: 表示从ip使用username连接过来的请求,允许复制。所以,ip为从节点的ip,username为上面创建的username
使配置生效:
flush privilege;
4. 从节点slave编辑配置文件
vim /etc/my.cnf
添加如下配置:
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin
重启mysql服务,使配置生效:
service mysqld restart
5. 进入从节点mysql进行配置:
change master to master_host='masterIP', master_port=3306, master_user='username', master_password='password',
master_log_file='master-bin.000001' ,master_log_pos=1;
注: master_host是主节点的ip地址,master_log_file和master_log_pos需要从master节点,进入Mysql数据库后进行查询,命令如下:
show master STATUS;
6. 在从节点上启动主从复制
start slave;
如需要关闭,使用如下命令:
stop slave;
查看从节点状态:
show slave status \G;
如果没有异常信息,则说明启动成功。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。