腾讯云服务器与虚拟机搭建主从分离数据库

测试环境

主数据库: CentOS7, MySQL15.1 , 腾讯云服务器外网IP

从数据库: CentOS7, MySQL15.1 , 虚拟机IP(无关紧要)

 

首先安装好mysql 我之前安装的lnmp 所以挺多指令都挺简单的

lnmp可以去百度安装 我这里就不做说明了

先配置mysql的数据配置

vim /etc/my.cnf

打开之后 找到一个 [mysqld] 在这个里面去新增配置(下面就是你要设置的主配置了) 编辑命令: i

主数据库配置

server-id=200  #设置主服务器的ID 
innodb_flush_log_at_trx_commit=2  #事务处理时 写进log速度 0:速度最快不安全 1:最安全速度慢 2:速度快也安全
sync_binlog=1  #开启binlog日志同步功能
log-bin=mysql-bin-200  #binlog日志文件名
binlog-do-db=test  #这个表示只同步某个库 (如果没有此项,表示同步所有的库)(这里的test表示我同步是test库)

 

编辑完成后 保存命令 :wq

重启数据库 lnmp mysql restart

然后就进入mysql  命令:

mysql -uroot -p 

输入mysql密码(默认输入root)

创建主数据库账号(用于从库链接的账户)

 grant replication slave on *.* to '这里填写用户名mark'@'这里填写从数据库的IP或者%' identified by '这里填写密码123456';

#授权给从数据库IP或%任意主机,用户名mark 密码123456

 

查看配置状态(这里的两个数据很重要 等会下面会用 一个file 一个position)

show master status

 

好了 上面的主库配置就完成了

下面去到我们的从库配置 还是照旧vim /etc/my.cnf

从数据库配置

server-id=201
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-201

 

编辑完成后 保存命令 :wq

重启数据库 lnmp mysql restart

然后就进入mysql  命令:

mysql -uroot -p 

输入mysql密码(默认输入root)

创建链接主库的配置

change master to master_host='这里填写主数据库的ip地址', master_user='填写刚刚创建的用户名mark' ,master_password='填写刚刚创建的密码123456', master_log_file='这里填写刚刚查看的File值mysql-bin-200.000002' ,master_log_pos=这里填写刚刚查看的Position值1163;

输入完后 启动slave 从库链接

start slave;

启动成功后 查看从库配置

show slave status \G;

看到了我们红色圈圈这两个值都为YES证明配置成功且链接主库成功了!!

如果看到slave_IO_Running为 connect 代表链接中 如果出现这种情况 一般来说要不就是账户密码写错了 要不然就是防火墙得问题 如果是防火墙得问题 就得去查看主库的防火墙是否屏蔽了mysql链接

我第一次测试的时候就出现这种问题 那咋办 就去查看主库的防火墙呗 修改防火墙得规则 或者停止防火墙(这样不安全)

这里就不说明防火墙设置了 可以去百度 主库防火墙查看规则 iptables --list

一般防火墙有两种 一种iptables  一种firewall 腾讯云的好像是用firewall的

 

如果想关闭主从分离的话就直接在从数据库输入该命令 

 

stop slave;

reset slave;

好了 链接成功后就可以去测试下在主库新建一条数据 从库就会新建一条数据了

OK 大功告成!!

阅读更多

没有更多推荐了,返回首页