MySQL主从配置

MySQL主从配置

1.知识简介
MySQL主从配置又叫做replication,AB复制.即在A,B两台机器做主从后,在A上写数据,在另一台B上也会跟着写数据,两者间数据实现实时同步.

MySQL主从是基于binlog的,主数据库需开启binlog才能进行主从配置.

2.操作步骤
1).将主更改操作记录到binlog里

2).从将主的binlog事件(sql 语句)同步到本机上并记录在relaylog里中继日志

3).从根据relaylog里的sql语句按照顺序进行执行.

3.MySQL主从原理

在这里插入图片描述

主服务器上有一个log dump线程,用来和从的I/O线程传递binlog;

从服务器上有两个线程,其中I/O线程用来同步主服务器的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句实现

使用场景:
1.用于单纯的做数据备份.

2.数据备份(在主数据上写入,在主数据和从数据都可以进行读数据)

4.MySQL主从配置
1.配置主服务器
修改配置文件


[root@localhost ~]# vi /etc/my.cnf

...

 log_bin=wslinux1

...

 basedir = /usr/local/mysql

 datadir = /data/mysql

 port = 3306

 server_id = 10

 socket = /tmp/mysql.sock

...

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重启mysql服务

[root@localhost ~]# /etc/init.d/mysqld restart

在这里插入图片描述

重启后会在/data/mysql中生成新的文件可以查看

[root@localhost mysql]# ls /data/mysql/

在这里插入图片描述

备份mysql库

[root@localhost mysql]# mysqldump -uroot mysql > /tmp/mysql.sql

在这里插入图片描述

创建一个库保存数据

[root@localhost mysql]# mysql -uroot -e "create database suor"

将mysql库恢复成新建的库(用于测试)

[root@localhost ~]# mysql -uroot suor < /tmp/mysql.sql

数据库配置,进入数据库

[root@localhost ~]# mysql -uroot

创建用于同步数据的用户并授权

mysql> grant replication slave on *.* to 'repl'@192.168.200.11 identified by 'password';

在这里插入图片描述
锁住表,保持表内数据不变

mysql> flush tables with read lock;

在这里插入图片描述

此操作目的在于为了让两者保持一致;

显示主机状态

mysql> show master status;

在这里插入图片描述
表示:文件名和大小

2.配置从服务
修改配置文件(从服务不需要配置bin_log)
在这里插入图片描述
在这里插入图片描述

重启mysqld服务
在这里插入图片描述

在主服务器上的mysql.sql拷贝到从服务器上
在这里插入图片描述
进入数据库

[root@localhost mysql]# mysql -uroot

创建一个同名库

mysql> create database suor;

在这里插入图片描述

导入数据库内容

[root@localhost mysql]# mysql -uroot suor < /tmp/mysql.sql

确认是否导入成功
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

注:需要保持初始数据一致,否则可能会出现数据紊乱

实现主从(进入从数据库)

停掉数据库

mysql> stop slave;

在这里插入图片描述

mysql>change master to master_host='192.168.200.10',master_user='wshuo',master_password='123456',master_log_file='wslinux1.000001',master_log_pos= 645239 ;

在这里插入图片描述

启动数据库

mysql> start slave;

查看是否成功链接

mysql> show slave status\G;

在这里插入图片描述

注:需要关闭防火墙

在主服务器上执行(解除锁定)

mysql> unlock tables;

在这里插入图片描述
3.测试主从
在主服务器上查看表内的db有几个
在这里插入图片描述

在从服务器上查看db有几个
在这里插入图片描述
在主节点删除db在查看
在这里插入图片描述
在从节点查看会发现也已经被删除
在这里插入图片描述
表示同步成功

注:不要在从服务器上操作,否则会导致主从失效;

当误操作时可以在主上也删除掉或者重新配置主从

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值