Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

时间:2022-09-04 21:37:26

  Mysql数据库的集群(读写分离),说白了就是将读操作和写操作分开在不同的服务器上实现,以达到提高效率的目的。

      大致原理如下:

        数据库中的所有操作都是有日志记录的(前提是要打开这个日志记录功能)

        1.master,主服务器(进行写操作的服务器)的所有记录都保存到二进制日志(binary log)中,这些记录叫做二进制日志事件(binary log events);

        2.slave,从服务器(进行读操作的服务器)将mater的binart log拷贝到自己的中继日志(relay log),然后根据中继日志对自己的数据进行修改;

        3.将读的请求发给slave,写的请求发给master,这样就实现了读写分离。技术选型 myproxy

 

      实现过程:

      一,设置主服务器,并开启日志;

         1),找到自己的mysql的配置文件,我的系统是win764位,mysql安装在C盘下面,具体位置请看下图 ,

          Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

 

    2),修改my.ini的配置。这里的服务器是主服务器,必须打开mysql的日志操作记录,注意:修改配置需要权限,如果没有权限请鼠标右键属性后为自己的账户配置权限。

Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

    修改port端口号:默认为3306,我在这里修改为3388,作为主服务器之用。

    添加图中红色方框的圈起来的部分,#后面是注释部分,可以不写。

      log="这里是日志存放的路径地址和文件名" ,如图中所示,我的日志存在mysql的ini的同级目录,名字叫mysql.log,mysql.log是操作日志,可以通过文本软件打开后查看进行了什么操作;

      log-bin=mysql-bin  的意思是开启二进制日志,从服务器通过拷贝这个日志到自己的日志中,然后再进行数据的更新,才能实现主从服务器数据的一致;

      server-id=1   就是为该服务器配置一个服务器id,要确保其他服务器没有占用该id,我在这里设置的为1,从服务器设置为10;

 

    3),配置修改完成后保存,重启服务就可以了,然后为从服务器创建一个账户,以便从服务器来链接主服务器读取数据。

      Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

    注意:开启和关闭服务都要使用管理员权限打开cmd后进行操作,不然是是会失败的;还有,mysql服务的名字也许不一样,可以通过在查看服务来确认。

      Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

    

           服务重启完成后,创建从服务器的账户:

        Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

  

        参数说明:

                                  *.*  :表示对所有表的所有操作

                                  sirius:slave连接master使用的账号

                                  IDENTIFIED BY 'admin' :slave连接master使用的密码

                                  192.168.77.128:slave IP

 

        执行成功后,可以到创建的账户是存在的

Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

 

    4),查询主服务器的状态,记录 File  和 Position的值,在从服务器端使用;

    Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置

  图没有截好,这里的File是mysql-bin.0000003,这个数字如果是第一次开启二进制日志那么就是1,如果不是就是其他数字;

 

主服务器端的配置暂时记录到这,从服务器的配置之后更新····················