数据库主从复制

概述
主从复制(同步)使得修改的数据可以从一个数据库服务器复制到其他数据库服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。只要主数据库的二进制日志数据发生变化,从服务器就会复制数据。
配图说明:
数据库主从复制_第1张图片
主从服务器配置
主服务器配置
主库授权一个可以进行复制(同步)操作的账户 :

grant all on *.* to 'mary'@'192.168.10.%'  identified by “123123”;
#授权Mary用户使用123123密码从192.168.10段的ip进行登录数据库,可以使用除了grant权限之外的所有权限。
flush logs;#刷新mysql的权限表

启用binlog日志:

vim /etc/my.conf
      [mysqld]
      server_id=1        
      #指定主MySQL数据库的ID
      log-bin=/data/mysql/mysql_bin     
      #启用binglog日志,日志文件保存在/data/mysql(自行建立)
      #记得授权chown -R mysql:mysql /data/mysql

查看主服务器状态

show master status;

数据库主从复制_第2张图片
从数据库配置
修改配置文件/etc/my.cnf

server-id=2    ##不能与主服务器 一样
relay-log=/data/mysql-binlog/mysql-relay#把中继日志放在那里,自己建立。

修改权限

chown -R mysql:mysql /data/mysql-binlog

修改从服务器的 UUID

vim /mysql/auto.cnf #在你数据库所在的目录下面
server-uuid=4988e6fb-bc9f-11e8-b581-000c290b86e1 #主数据库服务器与从服务器的UUID不能一样

重新启动服务

/usr/local/mysql57/support-files/mysql.service start

登录mysql,配置主数据库信息(使用本机的mary用户登陆)

 change master to master_host='192.168.10.12',master_user='mary',master_password='123123',master_log_file='mysql-bin.000038',master_log_pos=597;
 #以用户Mary密码为123123登录master服务器(192.168.10.12)追踪二进制日志mysql-bin.000038从位置597开始。

开启从服务功能

start slave;

查看slave状态

show slave status;

如果是以下这样,则配置成功
在这里插入图片描述

你可能感兴趣的:(数据库主从复制)