在腾讯云那买了个CDB,用来装支付类的数据。为确保稳定,灵机一动,在Centos7上搭建MySQL做腾讯云CDB从库。
本教程需要:
vps上装有mysql5.6(因为我是5.6,所以以我为准)
MySQL安装教程请点我
腾讯云CDB
耐心
以下是教程:
首先连接上你的云数据库,执行以下sql语句:
为方便管理,添加一个账户,用户名为slave,密码为slave。账号密码可根据个人设置。
grant replication slave on *.* to 'slave'@'%' identified by 'slave';
flush privileges;
2、查询当前master的binlog 文件和Position点,并且记录下来,到后面会有用。
mysql> show master status;
File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
---|---|---|---|---|
mysql-bin.000001 | 40000 | - | - | ---------------------- |
1 row in set (0.06 sec)
此处提一句:腾讯云数据库默认开启gtid_set,所以稍后从库也要开启gtid_set否则会导致Slave_IO_Running: No
3、在你的vps上面执行ssh命令:
vi /etc/my.cnf
在[mysqld]下添加以下:(请复制的时候自行把注释去掉)
server-id = 2
log-bin=mysql-bin
replicate-do-db=dbname(需要同步的数据库名)
replicate-ignore-db=mysql,information_schema,performance_schema(不需要同步的数据库名)
port=3306(端口)
log_slave_updates=1(必须开启,否则会导致后面报错)
binlog_format=row
gtid_mode=ON(因为CDB开启了,所以从库必须开启)
enforce_gtid_consistency=ON
由于MySQL5.6的原因,开启了gtid后需要重启MySQL以生效。所以执行下面ssh命令
service mysqld restart
4、导入主库的数据
略,不会请百度如何导入数据
5、连接vps上面的数据库,并设置主从同步。
mysql->stop slave;
change master to master_host='你的云数据库地址', master_port=3306, master_user='云数据库账号',master_password='云数据库密码', master_log_file='mysql-bin.000001',master_log_pos=40000;
注意:此处的"master_log_file="和"master_log_pos="是刚刚在主库执行show master;时产生的
配置好之后,在从库执行sql语句:
start slave;
如果你看到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Slave_IO_State: Waiting for master to send event
则说明开启成功。
教程结束,感谢看官。若有错误之处,欢迎指点。
5 条评论
感谢大人地捧场
不用谢QAQ
然而....
蛤?
mark