首页 > 编程知识 正文

mysql配置详解,mysql主从同步配置 超详细

时间:2023-05-05 09:23:14 阅读:21643 作者:3900

一,

mysql主从复制原理

MySQL数据库本身提供的主从复制功能可以实现数据的多点自动备份,实现数据库的扩展。 多个数据备份不仅可以提高数据的安全性,还可以通过实现读写分离来提高数据库的负载性能。

Mysql主从复制的实现原理图大致如下。

MySQL之间的数据复制基础是二进制日志文件(儒家小蚂蚁日志文件),原理如下:

1 .从库的IO线程向主库的主进程发送请求,主库验证子库,负责向主库的IO线程传输数据

2 .主库IO线程比较库中发送的master.info中的信息,将儒教小蚂蚁log文件信息、偏移量和儒教小蚂蚁log文件名等发送到从库

3 .从库中收到信息后,将儒小蚂蚁的log信息存储在relay-儒小蚂蚁中,同时更新master.info的偏移量和儒小蚂蚁的log文件名

4 .从库中的SQL线程不断读取relay-儒雅蚂蚁的信息,同时将读取的偏移量和文件名写入relay-log.info文件,将儒雅蚂蚁的log信息写入自己的数据库

5 .上次同步完成后,库IO线程不断向主库IO线程请求儒家小蚂蚁log信息

6 .如果要从库中创建主库,还会打开log_儒的小蚂蚁和log-slave-update参数

二、

mysql主从复制类型

1

基于语句的副本

在主服务器上执行的语句将从服务器上再次执行,并且MySQL-3.23版本或更高版本支持。

2

基于行的复制

是从MySQL-5.0发行版开始引入的,它直接复制了主服务器上改编的内容,而不考虑这些内容是由哪个语句引起的。

3

混合复制的类型

缺省情况下,MySQL使用基于语句的复制,如果基于语句的复制导致问题,则使用基于行的复制,MySQL将自动选择。

在MySQL从主复制体系结构中,读取操作可以在所有服务器上执行,而写入操作只能在主服务器上执行。 主从复制体系结构为读取操作提供了扩展,但如果写入操作较多(多个从服务器从主服务器上同步数据),则在单主模型复制过程中,主服务器会成为性能瓶颈。

三、

详细配置MySQL主从复制

1 .配置说明

主服务器:

o

打开二进制日志

o

一般设置唯一的服务器- id---- IP地址的后两位

o

获取主二进制日志的文件名和位置

o

创建用于slave与master通信的用户帐户

从服务器:

o

配置唯一服务器- id

o

使用主文件分配的用户帐户读取主二进制文件日志

o

启用从属服务

2.

具体实现过程为以下:

1、准备工作

(1) .主从数据库版本最好一致

(2)主从数据库中的数据一致

主数据库: 192.168.1.158 /linux6.5

来自数据库: 10.168.1.159 /linux6.5

Mysql版本为5.7

2、修改主数据库主

修改mysql配置my.cnf

主要参数

log-儒家小蚂蚁

服务器-id

不同步哪个数据库

(由于您有许多用户名和密码,因此在典型同步过程中不要同步mysql库。)

儒家小蚂蚁log

_

ignore

_

数据库

=

mysql

儒家小蚂蚁log

_

ignore

_

数据库

=

sys

.

2 .重新启动和创建同步数据的用户

mysqlgrantreplicationslaveon *.* to ' rep ' @ ' 10.168.1.159 ' identified by ' 123456 ';

查询确定,0 rows affected,1warning(0.01sec ) )。

MySQL flush权限;

查询确定,0Rowsaffected(0.01sec ) )。

3 .备份需要同步的数据库

锁定下表:

flush tables with读取锁定; (为了在同步前匹配数据。 )

mysqldump-BDB name1DBA name2- uroot-p/u01/full db.SQL

4 .查看主机状态,记录二进制文件

3 .来自服务器的slave配置

1、修改my.cn

f

2、重新启动和恢复数据库

MySQL-urootp

/u01/fulldb.sql

3、执行同步sql语句

change master to

master_host='192.168.1.158 ',

master_port=3307,

master_user='rep ',

master_password='123456 ',

master_log_pos=592;

4 .启动从属同步过程

在主节点上运行

MySQL未锁定表;

mysqlstart slave;

5、查看从属状态

主要看状态

Slave_IO_Running: Yes

//此状态必须为是

slave _ SQL _ running :是

//此状态必须为是

所有更改是表示主从配置成功,如果MySQL主服务器有更新更改,从服务器将根据特定配置进行相应的同步。

6、从库中设置为只读

MySQL set全局读取_ only=1;

查询确定,0Rowsaffected(0.00sec ) )。

这样就完成了配置。

参考资料:

mysql官方文档

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。