码迷,mamicode.com
首页 > 数据库 > 详细

mysql主从配置

时间:2019-03-01 12:57:22      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:主服务器   账号   基于   hang   password   指定   授权   插入   一个数据库   

一、MySQL主从介绍

 

什么是主从呢,就是一个是正常用的,另外是一个是他的备份。主的叫做master,从叫做salve。什么时候master挂掉了,就启用salve,保证系统可以正常运行。

当我们系统数据量比较大的时候,一台数据库服务器速度就比较慢了,影响性能,也可以通过主从的方式来提高性能。比如说我现在有2台数据库服务器,一台是master,一台是salve,那我写操作(update、insert)都在master上做,查询操作(select)都在salve机子上做操作,这样就有2台数据库了,就提高了性能,这就是传说中的,读写分离,也是一主一从。如果说查询的操作比较多,比写的多很多,一个salve顶不住了,效率很低,那就可以再加N台salve,多台一起服务,这就是一主多从。这也是mysql的集群。

技术图片

Mysql服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。

在使用二进制日志时,主服务器的所有操作都会被记录下来,然后从服务器会接收到该日志的一个副本。从服务器可以指定执行该日志中的哪一类事件(譬如只插入数据或者只更新数据),默认会执行日志中的所有语句。

既然是集群,群,最少有2台才叫群,一个就是单台了。需要准备2台装有mysql的服务器,我这里在Windows上装了一个,在虚拟机里面装了一个mysql,虚拟机的mysql当做master节点,Windows的当salve。

 

二、主从配置步骤

 

1、 在主服务器上,必须开启二进制日志机制和配置一个独立的ID

 

2、在每一个从服务器上,创建一个用来专门复制主服务器数据的账号

 

3、在开始复制进程前,在主服务器上记录二进制文件的位置信息

 

4、如果在开始复制之前,数据库中已经有数据,就必须先创建一个数据快照(可以使用mysqldump导出数据库,或者直接复制数据文件)

 

5、配置从服务器要连接的主服务器的IP地址和登陆授权,二进制日志文件名和位置

 

三、具体操作

 

1、启用主服务器上的二进制日志,和独立的severid,在mysql的配置文件中找到server-id和log_bin这两个参数,server-id要设置一个唯一的id,log_bin自己指定一个文件就行,如果这两个参数没有的话,自己加上就可以了。

ps:改完配置文件一定要重启一下mysql,要不然不生效。

2、创建一个用来专门同步数据用的用户,sql如下,用户名和密码都可以自己随便写。

3、找到主服务器上的二进制文件和位置,使用下面的sql就可以看到了,先记录一下file和Position这2列,要在slave服务器上配置

技术图片

4、复制之前的数据,我的master上是有一些表和数据的,要先把它整到slave一份。

先用mysqldump备份整个数据库

备份完之后,拿到的salve执行一下,也就是我Windows上面的mysql,咋执行都ok,可以直接把sql文件里面的sql语句复制出来执行,可以直接用mysql命令执行sql文件。

5、在slave节点上配置master的信息,让它能找到master。

在slave节点的配置文件里面找到server-id也改成唯一的一个,不能和其他的一样

技术图片

ps:这里改完别忘了重启,配置文件修改完之后,重启了之后才会生效

在slave上执行下面的sql,设置主服务器的信息

上面只是设置了master节点的信息,还没有开始同步,执行start slave;开始同步,sql语句如下:

开始同步之后,查看一下同步状态,sql如下,看下图可以看到已经开始运行了。

技术图片

6、测试是否可以同步,先在master上创建一个数据库,再去slave节点上找这个数据库。

技术图片

下面是同步完之后的

技术图片

至此测试结束,主从配置完成,快去试试吧。

mysql主从配置

标签:主服务器   账号   基于   hang   password   指定   授权   插入   一个数据库   

原文地址:https://www.cnblogs.com/xiaowenshu/p/10455347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!