腾讯云服务器与虚拟机搭建主从分离数据库
测试环境
主数据库: 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 大功告成!!
上一篇: MySQL数据库备份之主从同步配置
下一篇: 定期给数据库以及图片进行备份