不同服务器的mysql数据库同步

目标:

A服务器上自建的数据库同步到B服务器上自建的数据库。

阿里云的RDS数据库A同步到B服务器上自建的数据库。

A的数据库名为:mytest

基础:linux,会配置my.cnf

开始:

下面称前者A为主服务器,后者B为从服务器。

  1. 先在A服务器查看:sql语句:show master status;

    得到File,Position 的值。

    ‘mysql-bin.000039‘, ‘1538‘,  (这个后面要用到)

  2. 在B服务器,修改:/etc/my.cnf.

    修改前,先停止mysql.

增加这几句:

server-id = 2
expire_logs_days = 10
max_binlog_size = 100M
replicate-do-db = mytest
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = preformance_schema
slave-skip-errors=all
#GTID
gtid_mode=on
enforce_gtid_consistency=on
binlog_format=row
log-slave-updates=1

修改后,再重启mysql.

3.B服务器,进入mysql

mysql>show slave status\G;

查看从服务器状态。

如有,则停止。

mysql>stop slave;

然后写这一句:

mysql>change master to
master_host=‘*********‘,master_port=3306,master_user=‘******‘,master_password=‘*******‘,master_log_file=‘mysql-bin.000039‘
,master_log_pos=1538;

master_log_file=‘mysql-bin.000039‘
,master_log_pos=1538;就是上面A服务器查到的。

在执行这一句时,可能因为之前的slave没清除,会报错,

mysql> reset slave all;

即可。

重启 ,

mysql>start slave;

再查看,

mysql>show slave status\G;

有这三句,就对了!

Slave_IO_State: Waiting for master to send event

Slave_IO_Running:Yes;

Slave_SQL_Runing:Yes;

之后,A服务器中mytest数据库的更新,都会同步到B服务器。

比如,新建一张表,B服务器刷新后,也看到新建一张表。

网上几篇文章,比较详细。也可以参考。再有问题。欢迎加入PHP技术问答群提问。

谢谢阅读。

主从同步数据库:

http://blog.csdn.net/chenzenan/article/details/44198053
https://yq.aliyun.com/articles/66087

https://yq.aliyun.com/articles/9044

双向同步数据库:

http://blog.csdn.net/chenhongwu666/article/details/54358449

----------  招募未来大神 -----------------------

如果您有利他之心,乐于帮助他人,乐于分享
如果您遇到php问题,百度且问了其他群之后仍没得到解答

欢迎加入,PHP技术问答群,QQ群:292626152

教学相长!帮助他人,自己也会得到提升!

为了珍惜每个人的宝贵时间,请大家不要闲聊!

愿我们互相帮助,共同进步!

加入时留言暗号,php,ajax,thinkphp,yii...

时间: 2024-10-25 09:09:01

不同服务器的mysql数据库同步的相关文章

MySQL数据库同步的实现

以下的文章主要向大家介绍的是MySQL数据库同步的实际操作步骤以及对实现MySQL数据库同步的实际应用代码与其在实际操作过程中值得我们大家注意的相关事项的描述,希望会给你带来一些帮助在此方面. 在网上我找了一下,大家都说的是这样:" MySQL从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能. MySQL数据库同步复制功能的设置都在MySQL的设置文件中体现.MySQL的配置文件(一般是my.cnf) 在unix环境下在/etc/MySQ

MySQL数据库同步小工具(Java实现)

近期公司做个报表系统,为了报表系统中复杂的查询条件,不影响线上业务系统的使用,研究了一下MySQL数据库同步,下面用Java代码实现MySQL数据库同步,以便自己查阅! ? 数据库同步实现功能点: 1.支持跨服务器跨库的多线程同步 2.每张表的同步有日志记录 3.每次同步记录数可配置 源码和具体的使用细则,可以到下载源码及使用说明?. ? 一.数据同步核心代码 ? ? ? 二.数据库同步多线程实现 ? ? ? ? 三.配置文件及读取配置文件代码 配置文件内容为: 读取配置文件的Java类为: ?

操作服务器及MySQL数据库可以使其远程链接

转自原文操作服务器及MySQL数据库可以使其远程链接 一般情况分三个地方准备,MySQL数据库,防火墙,还有你的服务器主机的准备 操作系统为centos6.5.其他系统大致差不多. 1:在服务器中安装mysql,具体安装过程,请自行查询.安装好后,输入mysql -u root -p,再输入密码(输入密码时,密码不会显示)就会进入到MySQL如下界面. 2:进入MySQL后,show databases; use mysql; select User,Host,Password from use

mysql数据库同步跳过临时错误[转]

mysql数据库同步跳过临时错误slave stop;set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;slave start; 几个跟热备有关的mysql命令:(需要在mysql命令行界面或query ) stop slave #停止同步 start slave #开始同步,从日志终止的位置开始更新. show slave status #查看同步状态 SET SQL_LOG_BIN=0|1 #主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一

mysql数据库同步可以针对单张表同步吗?解决办法

mysql数据库同步可以针对单张表同步吗?第一个问题:mysql数据库同步可以针对单张表同步吗? 也就是说1.数据库A里面有a1,a2,a3三张表,数据库B里面只有一张a1表(A与B的a1的表结构式一样的)2.数据库B只同步数据库A中的a1表3.数据库A也要同步B的a1表 注:其实可以认为是数据库A与数据库B的a1表双向同步,即A数据库a1数据有改变,,B数据库a1也要相应改变,同理B数据库a1有改变,A数据库a1也要改变(Aa1<=>Ba1) 第二个问题:配置数据库同步linux与windo

Linux两台服务器mysql数据库同步

我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价值千金啊),所以我们还是乖乖做同步把! 1.准备两台Linux服务器(主.从) 2.安装好Mysql 3.在配置文件/etc/my.cnf(MySQL中为mysql.ini)修改开启二进制日志 log-bin=mysql-bin 修改方法:打开配置文件后在 [mysqld]中添加内容: server-id = 1 #确保在整个MySQL集群中唯一 log-bin=/var/log/

mysql数据库同步

windows xp 下设置数据库同步 环境:两台windows xp系统机器,并且安装同一版本的数据库5.0.17 两台机器Ip A:173.26.100.62 B:173.26.100.61 此例为A为主服务器,B为从服务器,A服务器上的数据变更会更新到B服务器数据库当中步骤: 1 .A机器上创建数据库tsas,设置数据库访问权限,也就是创建一个用户和密码,目的在于在B机器上用创建的这个用户能够正常连接A机器的数据库. grant file on *.* to [email protecte

mysql数据库同步配置参数及常见问题

一. 配置参数说明(基本知识): #服务器ID, 每台服务器的ID不能设为相同的数. server-id=1 #启用从库日志,这样可以进行链式复制 log-slave-updates #从库是否只读,0表示可读写,1表示只读 read-only=1 #只复制某个表 replicate-do-table=tablename #只复制某些表(可用匹配符) replicate-wild-do-table=tablename% #只复制某个库 replicate-do-db=dbname #只复制某些库

黄聪:NaviCat通过Http方式连接服务器的MySQL数据库(转)

首先到NaviCat官网上去下载最新版本的NaviCat.安装完成后,打开NaviCat,如下图所示: 然后点击左上角的连接,弹出新键连接信息,如下图所示: 在主机名IP地址那里填写LocalHost. 用户名与密码一栏则填写你所在的数据库用户名与密码. 这时候还不能连接数据库的,需要通过Http通道的形式进行数据库连接. 点击连接属性标签栏中的Http,如下图所示: 勾选使用Http通道后,在通道地址一栏输入你的网址与后台文件地址. 例如:http://www.google.cn/databa