您的位置:首页 > 数据库 > MySQL

mysql主从同步搭建

2019-03-06 11:53 190 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_39273014/article/details/88227544

mysql主从同步

mysql主从同步

1.为什么要主从同步?

在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一。尤其是在大规模系统中,数据库集群已经成为必备的配置之一。集群的好处主要有:查询负载、数据库复制备份

等。其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。写操作涉及到锁的问题,不管是行

锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系

统的高可用性。

2、怎样配置主从?

首先安装两台mysql数据库,例:我的主数据库是mysql,从数据库是mysql2

配置主服务

1:找到数据库安装位置里的my.ini文件,打开在最后加上以下内容:

#这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错

server-id=1

#二进制日志文件,此项为必填项,否则不能同步数据;如果不取名字的话,

#那么就会以计算机的名字加编号来命名二进制文件;

log-bin=mysql-bin

#需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,

#如果不写,那么默认同步所有的数据库 需要同步多个数据库用逗号分隔

binlog-do-db=test

#若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步

#log_bin_trust_function_creators = TRUE

#不需要同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的

#binlog-ignore-db=mysql 保存文件后重启mysql服务,链接mysql数据库执行以下sql

GRANT REPLICATIONSLAVE ON*.*TO'my_slave'@'127.0.0.1' IDENTIFIED BY '123456';

执行成功后在执行以下sql,并记录执行结果

show master status;

 

到现在为止主服务配置好了,接下来配置从服务mysql2

找到mysql2安装位置里的my.ini文件,打开并在文件最后加上以下内容:

 

#这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错

server-id=2

#二进制日志文件,此项为必填项,否则不能同步数据;如果不取名字的话,那么就会以计算机的名字加编号来命名二进制文件;

log-bin=mysql-bin

#需要同步过来的数据库

replicate-do-db=test

 

重启mysql2的服务,并连接mysql2数据库,执行以下sql

change master to master_host='127.0.0.1',

master_port=3306, master_user='my_slave',

master_password='123456'

, master_log_file='mysql-bin.000001',

master_log_pos=106;

 

 

master_host:master IP master_user:master数据库通过GRANT授权的账号

master_port:master数据库使用的端口号

master_password:master数据库通过GRANT授权的密码

master_log_file:master数据库中通过show master status显示的File名称

master_log_pos:master数据库中通过show master status显示的Position数据

接下来启动从服务即可,执行一下命令

slave start; 到这一步mysql主从同步就配置好了,接下来测试就可以了

注意事项:

1: 需要同步的从数据库需要保证和主数据库初始化表一样

2: 主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间,主从数据不一致。

3: 如果主从的网络断开,从会在网络正常后,批量同步。

4: 如果对从进行修改数据,那么很可能从在执行主的bin-log时出现错误而停止同步,这 个是很危险的操作。所以一般情况下,非常小心的修改从上的数据。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: