Centos7系统下Mysql主从同步配置方案

作者:菜鸟想高飞 时间:2024-01-24 11:29:18 

前言

最近在做项目高可用时,需要使用数据同步。由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步)。

可能没有接触过Mysql数据同步时,可能会觉得数据同步很难,但你按照如下操作一遍之后,会发现原来同步如此简单,毕竟我们只需要会配置,会排查问题,底层具体实现Mysql团队早帮忙实现了。

废话不多说,直入话题:

(1)首先,保证有两台设备(主、从),分别在两台设备上安装Mysql数据库。安装完成之后,

使用mysql -u[数据库用户名] -p[用户密码],若能够登陆mysql则表示安装成功。

(2)编辑mysql配置文件,路径一般为/etc/mysql/mysql.conf.d/mysqld.cnf(用户在安装Mysql时指定的目录,

如:/etc/my.conf等)。分别按要求在主、从mysql中的[mysqld]模块下添加如下内容:


[mysqld]

default-storage-engine=innodb

innodb_file_per_table=1

collation-server=uft8_general_ci

init-connect='SET NAMES uft8'

bind-address=0.0.0.0

log_bin=mysql-bin

relay_log=mysql-relay-bin

expire_logs_days=100

skip-slave-start=1

binlog_do_db=[需要同步的数据库名称]

binlog-ignore-db=mysql,sys,information_schema,performance_schema

server-id=[主填写1,从填写2]

auto-increment-increment=2

auto-increment-offset=1

open_files_limit=65535

mac_connections=1000

slave-skip-errors=all

(3)shell连接主、从服务器,mysql -u[数据库用户名] -p[用户密码],分别登录到主、从节点mysql,创建同步用户repl,执行如下命令:


grant all privileges on *.* to 'repl'@'%' identified by 'repl' with grant option;

然后exit退出Mysql操作页,重新启动Mysql服务,命令如下:


systemctl restart mysql.service

然后进入主节点Mysql,查看Mysql的File列和Positon列。执行命令:show master status;出现结果如下

Centos7系统下Mysql主从同步配置方案 

(4)登录到从服务器,mysql -u[数据库用户名] -p[用户密码]进入Mysql,执行:


stop slave;

reset slave;

change master to master_host='[主节点IP]',master_user='repl',master_password='repl',master_log_file='[mysql-bin.000001,参考(3)中的File列]',master_log_pos=[245,参考(3)中的Postion列];

exit;

执行systemctl restart mysql.service重启Mysql服务。

(5)启动从服务器slave库,mysql -u[数据库用户名] -p[用户密码]进入从节点Mysql,执行如下命令:


start slave;

执行:show slave status\G;查看备份服务状态。如果以下两个状态为Yes则表示主从同步成功。

Centos7系统下Mysql主从同步配置方案

接下来,大家就可以尝试向主数据库中插入一条数据,看是够从数据库中会自动增加该条数据,是不是有点小激动呢?赶紧测试下吧。

PS:若出现无法同步问题?

(1)请查看上图中Master_Log_File属性、Read_Master_Log_Pos属性与主节点查询结果是否一致。

(2)可能是从数据库连接主数据库超时,去吧连接延时改大一点吧。

(3)如果上述无法解决,请查看mysql日志排查原因。

来源:https://www.cnblogs.com/Mr-zhou/p/11470303.html

标签:mysql,主从,同步
0
投稿

猜你喜欢

  • 使用pandas对两个dataframe进行join的实例

    2022-02-06 11:09:36
  • 利用python实现命令行有道词典的方法示例

    2021-03-24 06:32:16
  • Python反爬实战掌握酷狗音乐排行榜加密规则

    2021-05-29 08:05:57
  • Django模板标签{% for %}循环,获取制定条数据实例

    2023-02-25 02:27:59
  • 用python计算文件的MD5值

    2023-06-20 21:28:27
  • 时间序列分析之ARIMA模型预测餐厅销量

    2023-07-09 13:53:59
  • MySQL的6种日志详解

    2008-12-18 14:36:00
  • js中的内部属性与delete操作符介绍

    2024-04-10 16:15:12
  • Python入门之三角函数sin()函数实例详解

    2021-11-09 18:31:21
  • Numpy对于NaN值的判断方法

    2022-12-15 15:08:21
  • 二十八法优化SQL Server数据库查询

    2010-07-02 20:56:00
  • JavaScript函数参数使用带参数名的方式赋值传入的方法

    2024-04-30 09:51:52
  • mysql安全启动脚本mysqld_safe详细介绍

    2024-01-12 22:37:49
  • 在VScode里面添加Python解释器的详细步骤

    2021-12-04 16:03:11
  • python分析apache访问日志脚本分享

    2021-08-12 04:20:09
  • Python 操作文件的基本方法总结

    2021-11-29 03:18:27
  • 基于Python爬取京东双十一商品价格曲线

    2022-10-22 04:04:42
  • Python爬虫使用脚本登录Github并查看信息

    2022-05-02 13:09:28
  • 使用python打印十行杨辉三角过程详解

    2021-04-16 18:47:24
  • python安装教程 Pycharm安装详细教程

    2022-08-08 02:25:55
  • asp之家 网络编程 m.aspxhome.com