服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MYSQL数据库主从同步设置的实现步骤

MYSQL数据库主从同步设置的实现步骤

2022-09-29 18:02桃花键神 Mysql

本文主要介绍了MYSQL数据库主从同步设置的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

为什么要主从同步

1、读写分离

主从同步分为一个主机多个从机,可以设置主从机权限。主机可以读写,从机只能读。主机对数据的操作会复制到从机,主机的数据和从机的一致。这样就可以实现读写分离,读写分离可以缓解服务器压力。互联网的应用往往是“读多写少”的需求,采用读写分离的方式,可以实现更高的并发访问。

2、数据备份

我们通过主从复制将主库上的数据复制到了从库上,相当于是一种热备份机制,也就是在主库正常运行下进行备份,不会影响到服务。

3、高用性

具有高可用性。我刚才讲的数据备份实际上是一种冗余的机制,通过这种冗余的方式可以换取数据库的高可用性,也就是当服务器出现故障或者宕机的情况下,可以切换到从服务器上,让从服务器充当主服务器,保证服务的正常运行。

 

主从同步的原理

主机每执行一个操作会在二进制日志文件中记录。从机每隔一段时间就会对主机的日志文件进行探测,如果发生改变,从机就会发送一个IO请求,复制主机中的日志文件进行同步操作,这样从机就可以和主机同步。

 

MYSQL数据库进行主从同步

创建两个MYSQL数据库

这里创建了两个数据库,分别为3301和3302。3301作为主机,3302作为从机

MYSQL数据库主从同步设置的实现步骤

MYSQL数据库主从同步设置的实现步骤

MYSQL数据库主从同步设置的实现步骤

主机3301的配置文件如下:

[mysqld] 
# 主机端口号
port=3308
# 服务器标识,每个服务器不能一样
server_id=111
# 开启日志文件
log_bin=binlog 
# 普通用户只能读 OFF是关闭状态
read_only=off 
# 超级用户只能读 OFF是关闭状态
super_read_only=off

MYSQL数据库主从同步设置的实现步骤

从机3302的配置文件如下:

[mysqld]
# 从机端口号
port=3309
# 服务器标识
server_id=2
# 开启日志文件
log_bin=binlog
# 普通用户只能读 on是开启状态 
read_only=on 
# 超级用户只能读 on是开启状态 
super_read_only=on

MYSQL数据库主从同步设置的实现步骤

初始化,安装主机数据库

初始化和安装方法和平时配置数据库一样,不会的看这篇博客:http://www.tuohang.net/article/174987.htm

安装好数据库后进入主机:

进入主机数据库,没有密码。

MYSQL数据库主从同步设置的实现步骤

建立同步账号,并授权

MYSQL数据库主从同步设置的实现步骤

查看主库master

MYSQL数据库主从同步设置的实现步骤

记住查询出的结果,后面要用

MYSQL数据库主从同步设置的实现步骤

配置从机

进入数据库

MYSQL数据库主从同步设置的实现步骤

复制主机的二进制日志操作,其中 source_user是主机创建的同步账户账号,source_password是账号密码,source_port主机端口号,source_log_file之前查看主机master时File的信息,source_log_pos是Position的信息。

mysql>change replication source to source_host='127.0.0.1', source_user='repl', source_password='repl', source_port=3308,source_log_file='binlog.000006', source_log_pos=336;

启动同步

mysql>start replica;

查看IO线程和sql线程是否开启

mysql>show slave status \G

MYSQL数据库主从同步设置的实现步骤

 

测试主从同步

主机当前的全部数据库:

MYSQL数据库主从同步设置的实现步骤

从机当前的全部数据库:

MYSQL数据库主从同步设置的实现步骤

主机建立一个新数据库xxx:

MYSQL数据库主从同步设置的实现步骤

从机查看数据库:

MYSQL数据库主从同步设置的实现步骤

操作同步,完成

到此这篇关于MYSQL数据库主从同步设置的实现步骤的文章就介绍到这了,更多相关MYSQL数据库主从同步设置内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_50843918/article/details/123119184

延伸 · 阅读

精彩推荐
  • Mysql基于MySQL在磁盘上存储NULL值

    基于MySQL在磁盘上存储NULL值

    这篇文章主要介绍了基于MySQL在磁盘上存储NULL值,NULL值列表,一行数据里可能有的字段值是NULL,比如nickname字段,允许为NULL,存储时,如果没赋值,这字...

    公众号JavaEdge7082022-09-27
  • Mysqlmysql中使用instr进行模糊查询方法介绍

    mysql中使用instr进行模糊查询方法介绍

    这篇文章主要介绍了mysql中使用instr进行模糊查询方法介绍,具有一定参考价值,需要的朋友可以了解下。...

    liucsen3852020-08-18
  • Mysql浅谈Mysql连接数据库时host和user的匹配规则

    浅谈Mysql连接数据库时host和user的匹配规则

    这篇文章主要介绍了浅谈Mysql连接数据库时host和user的匹配规则,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    翔之天空7952021-03-29
  • MysqlMySQL五步走JDBC编程全解读

    MySQL五步走JDBC编程全解读

    JDBC是指Java数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。从根本上来说,JDBC 是一种规范,它提供了一套...

    /少司命3742022-09-12
  • MysqlMySQL动态修改varchar长度的方法

    MySQL动态修改varchar长度的方法

    这篇文章主要介绍了MySQL动态修改varchar长度的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 ...

    MYSQL技术网3842020-06-16
  • Mysql一文搞懂MySQL XA如何实现分布式事务

    一文搞懂MySQL XA如何实现分布式事务

    MySQL如何实现多个MySQL数据库更新的一致性呢?那就是MySQL XA,本文就来介绍一下MySQL XA如何实现分布式事务,具有一定的参考价值,感兴趣的可以了解一下...

    神技圈子6062021-12-02
  • MysqlMySQL Shell import_table数据导入的实现

    MySQL Shell import_table数据导入的实现

    这篇文章主要介绍了MySQL Shell import_table数据导入的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    ZhenXing_Yu6122021-09-16
  • MysqlMySQL中修改表结构时需要注意的一些地方

    MySQL中修改表结构时需要注意的一些地方

    这篇文章主要介绍了MySQL中修改表结构时需要注意的一些地方,作者援引Percona的相关的说明来讲述如何避免相关操作导致表无法使用的问题,一些需要的朋友...

    MYSQL教程网6002020-05-12