欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
快捷导航
搜索
查看: 6184|回复: 1

[经验分享] Linux 服务器上搭建mysql做CDB的从库

[复制链接]

64

主题

2

好友

302

积分

腾讯云专家团

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

云币
945
威望
302
发表于 2015-2-15 14:15:13 |显示全部楼层 |未分类
云数据库本身可以开通从库访问,不过每天凌晨会有一段时间到冷备操作,如果实时性比较高的查询操作就不能使用云数据库自带的从库了,可以自己在云服务器上部署从库,下面是部署步骤 (前提云服务器上先安装好mysql数据库)。

1、停止业务,保证程序不再向云数据库中写数据
云服务器上连接云数据库,添加slave连接账号和查询相关信息
# mysql -uroot -pxxxxxx -h10.66.111.xx -P3306
mysql> show databases;
+----------------------------+
| Database           |
+----------------------------+
| information_schema |
| Discuz             |    业务库
| mysql              |
| test1               |
+----------------------------+
4 rows in set (0.00 sec)

1) 添加slave同步数据用户, 前面slave为账号,后面slave为密码,可以自定义
mysql> grant replication slave on *.* to 'slave'@'%' identified by 'slave';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

2) 查询出当前master的binlog 文件和Position点,并记录
mysql> show master status \G;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 11311919
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)

ERROR:
No query specified

2、导出云数据库中的业务库数据
# mysqldump -uroot -pxxxxxx -h10.66.111.xx -P3306  Discuz  > Discuz.sql

3、修改云服务器上mysql的配置文件
# vi /etc/my.cnf
[mysqld]下添加:
server-id = 2
log-bin=mysql-bin
replicate-do-db=Discuz    //同步Discuz库
replicate-ignore-db=mysql,information_schema,test1  //不同步这几个库
重启云服务器上mysql
# service mysqld restart

4、创建Discuz库并向其中导入之前从云数据库中导出的业务库
# mysqladmin -uroot -pxxxxxxx  create Discuz
将从云数据库中导出的数据导入到云服务器上的mysql中
# mysql -uroot -pxxxxxxx  Discuz  < ./Discuz.sql

5、连接云服务器上的mysql,并配置主从同步
# mysql -uroot -pxxxxxxx
mysql> slave stop;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> change master to master_host='10.66.111.xx', master_port=3306, master_user='slave',master_password='slave', master_log_file='mysql-bin.000001',master_log_pos=11311919;
Query OK, 0 rows affected (0.05 sec)
// IP为云数据库的IP,账号、密码和之前在云数据库中创建的对应,binlog和position和之前查询出来的对应

mysql> slave start;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status \G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes      //这两处都为yes表示同步成功

6、恢复停止的业务程序
观察有新业务数据写入后,slave的同步状态是否正常(show slave status\G;)



本文来自腾讯云论坛:http://bbs.qcloud.com/forum.php


如果您觉得该主题对您有帮助,请给予我们支持与鼓励哦~~
点击屏幕右侧
进行反馈
附加3.png
附加2.png


3

主题

0

好友

735

积分

程序猿[LV2]

Rank: 2Rank: 2

云币
2771
威望
735
发表于 2015-3-11 22:53:10 |显示全部楼层
不错哈 教程很强大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2019-9-22 00:15 , Processed in 1.156279 second(s), 31 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部