常用环境部署(十)——MySQL主从同步数据搭建(一主一从)

一、主从服务器MySQL安装

1、注意事项

主从服务器数据库尽量安装同一版本,避免兼容性造成的一些错误产生

2、Centos安装MySQL

链接:centos7离线安装MySQL-CSDN博客

二、主库MySQL配置 

1、修改主库配置

(1)编辑数据库配置文件

vim /etc/my.cnf

注意:我的数据库配置文件为/etc/my.cnf,大家按照自己的去修改就行

(2)修改配置如下:

max_allowed_packet = 64M
transaction_isolation = READ-COMMITTED
tmp_table_size = 512M
# 设置字符集为utf8
character_set_server = utf8
# 不区分大小写
lower_case_table_names = 1
# 允许最大连接数
max_connections = 9600 server-id=1
# Binary Logging.
# log-bin 二进制日志
log-bin=mysql-bin
#只保留7天的二进制日志,以防磁盘被日志占满
expire-logs-days=7
#不备份的数据库
binlog-ignore-db  = mysql       
binlog-ignore-db  = information_schema
binlog-ignore-db  = performation_schema
binlog-ignore-db  = sys
#需要做复制的数据库名,如果有多个,复制binlog-do-db即可
binlog-do-db      = test 

注意: 修改完配置之后重启数据库

systemctl restart mysqld

2、创建及授权用户

(1)创建slave用户

作用:用于从库同步复制,

CREATE USER 'slave'@'%' IDENTIFIED BY 'Cntcitc@2023';

 (2)授权

作用:授予复制、同步访问的权限

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

 

3、查看信息 

(1)查看用户信息

SELECT * FROM mysql.user;

(2)查看log_bin的状态 

show variables like 'log_bin';

(3)查看master状态

show master status;

注意:查询结果File对应的字段一定要记住,配置从库的时候需要使用

三、从库MySQL配置 

1、修改从库配置

(1)编辑数据库配置文件

vim /etc/my.cnf

注意:我的数据库配置文件为/etc/my.cnf,大家按照自己的去修改就行

(2)修改配置如下:

character_set_server = utf8
lower_case_table_names = 1
max_allowed_packet = 64M
transaction_isolation = READ-COMMITTED
tmp_table_size = 512M
# 允许最大连接数
max_connections = 9600 # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
server-id=2
log-bin=mysql-binbinlog-format=ROW

注意:(1)server-id=2一定要配置

(2)修改完配置之后重启数据库

systemctl restart mysqld

2、从库中配置主库信息

(1)关闭slave

stop slave

(2)在从库中配置主库信息

CHANGE MASTER TO MASTER_HOST='172.16.40.5',MASTER_PORT=3306,MASTER_USER='slave',MASTER_PASSWORD='Cntcitc@2023',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=617;

注意:MASTER_LOG_FILE参数要配置成主库查询master状态中的File的值,其他参数配置成自己的就行,比如主库IP,端口,以及共享用户和密码。 

3、查看同步状态

(1)查看同步状态

show slave status;

注意:slave_io_status状态为空,忘记开启start slave ;开启后查看状态正常。

start slave

 4、注意事项

(1)SLAVE_SQL_RUNNING为NO

        I/O的作用是从master 3306端口上把它的binlog取过来(master修改的内容会写到自己的binlog等待slave更新),然后写到本地的relay-log,而SQL thread则是去读本地的relay-log,再把它转换成本Mysql所能理解的语句,于是同步就这样一步一步的完成,start slave 之后,SLAVE_IO_RUNNING值为Yes,SLAVE_SQL_RUNNING为Yes。 

show slave status;

主库新建数据库test后新建t_user表,查看从库,未发现有新库及新表创建。查看同步状态后发现SLAVE_SQL_RUNNING为NO。

(2)解决方法

可执行以下三个命令,可重复执行,在重复执行两次之后值才改为Yes,从库手动创建表t_user,主库在t_user新增数据后,从库t_user表中同步数据成功。

stop slave;set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;start slave;

注意:我执行了一次之后就成功了,大家执行一次后查看一下状态

show slave status;

四、同步测试 

(1)主库新建test库,从库会自动同步。

(2)新建表、增删改查数据成功。 

(3)若测试未成功

查看同步状态,看SLAVE_SQL_RUNNING是否为NO

show slave status;

 还可以查看为NO原因:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2661472.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

ClickHouse基础知识(四):ClickHouse 引擎详解

1. 表引擎的使用 表引擎是 ClickHouse 的一大特色。可以说, 表引擎决定了如何存储表的数据。包括: ➢ 数据的存储方式和位置,写到哪里以及从哪里读取数据。 默认存放在/var/lib/clickhouse/data ➢ 支持哪些查询以及如何支持。 ➢ 并发数…

缓冲流得到

原始的字节流转移文件, 缓冲流到字节数组的数据交换,因为是在内存里面运行,所以速度很快 扩大缓冲池内存 字符缓冲流 这个方法readLine用的挺多的

Windows环境检验NodeJs安装是否成功

Windows环境检验NodeJs安装是否成功 检验方法 1、winR 打开运行窗口,在此窗口输入cmd命令 2、进入命令提示符窗口,分别输入以下命令,显示版本号,则安装成功 node -v:显示安装的nodejs版本npm -v:显示安装…

文件销毁 硬盘销毁 数据销毁:护航数据安全的最后一公里

希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。 网络平台部以构建敏捷、弹性、低成本的业界领先海量互联网云计算服务…

判断字符串回文----每日一题

大家好我是Beilef,今天分享的是字符串回文。魂影大家在评论区留言。O(∩_∩)O 文章目录 目录 文章目录 题目重现: 题⽬描述: 输⼊⼀个字符串,判断这个字符串是否是回⽂字符串(字符串的⻓度⼩于等于30,字符…

DAY3C++

定义一个Person类,包含私有成员,int *age,string &name,一个Stu类,包含私有成员double *score,Person p1,写出Person类和Stu类的特殊成员函数,并写一个Stu的show函数&#xff0c…

GitHub Copilot 终极详细介绍

编写代码通常是一项乏味且耗时的任务。现代开发人员一直在寻找新的方法来提高编程的生产力、准确性和效率。 像 GitHub Copilot 这样的自动代码生成工具可以使这成为可能。 GitHub Copilot 到底是什么? GitHub Copilot 于 2021 年 10 月推出,是 GitHub 的…

全国行政区划数据集(2011-2020年)

全国行政区划数据集(2011-2020年) 行政区划数据是基础地理信息数据,是按各国行政单元进行的地理划分。不同国家的行政级别称呼不同,例如某些国家称第一级行政单位为省,某一些国家称之为州等。 该数据集整理了2011-202…

C语言字符串知识点和算法总结

目录 一、字符串遍历 1、字符串和字符数组 2、获取字符串长度 3、字符串遍历 4、大小写转换 5、字符串数组 二、字符串拷贝 三、字符串比较 四、字符串分割 五、字符串翻转 1、题目详解 2、算法详解 3、源码剖析 六、回文串 1、定义 2、例题讲解 3、算法详解 …

BIT-666 的 2023 年度总结

<<< 年度总结 >>> <<< 年度数据 >>> ◆ 发博情况 ◆ 学习成就 ◆ 代码提交 ◆ 博文表现 <<< 年度创作 >>> ◆ LLM - LLaMA2 <<< 年度风景 >>> ◆ 春 - 中关村软件园 - 百望山 ◆ 夏 - 乌兰…

Mac 一步解决错误 sed: RE error: illegal byte sequence

Mac 一步解决错误 sed: RE error: illegal byte sequence 运行shell脚本提示 sed: RE error: illegal byte sequence 打开脚本文件, 将sed 批量替换成LC_CTYPEC sed即可

Mini MyBatis-Plus(下)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 最核心的内容前两篇已经…

V8提升对象属性访问速度---快属性和慢属性

V8提升对象属性访问速度—快属性和慢属性 在 JavaScript 中&#xff0c;对象就像一个字典&#xff0c;可以使用字符串作为键名&#xff0c;任意对象作为键值。早期的实现方式是使用字典来存储对象的属性。 字典是非线性的数据结构&#xff0c;查询效率会低于线性的数据结构&a…

ssm基于JAVA的学生在线考试系统+vue论文

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统考试信息管理难度大&#xff0c;容错率低&#xff0c;管理…

flutter学习-day23-使用extended_image处理图片的加载和操作

文章目录 1. 介绍2. 属性介绍3. 使用 1. 介绍 在 Flutter 的开发过程中&#xff0c;经常会遇到图片的显示和加载处理&#xff0c;通常显示一个图片&#xff0c;都有很多细节需要处理&#xff0c;比如图片的加载、缓存、错误处理、图片的压缩、图片的格式转换等&#xff0c;如果…

数字化转型:从数据资产到旅程指标

很多面临数字化转型的企业都在关注数据资产和旅程指标。在数字化转型之后&#xff0c;一个常见问题就是数据暴涨。从传统渠道扩展到 APP、小程序等线上化渠道之后&#xff0c;公司会面临 5 倍、10 倍甚至几十倍的数据增长。除了带来技术架构的挑战&#xff0c;还会带来数据资产…

设计模式(4)--对象行为(7)--观察者

1. 意图 定义对象间的一种一对多的依赖关系&#xff0c; 当一个对象的状态改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 2. 四种角色 抽象目标(Subject)、具体目标(Concrete Subject)、抽象观察者(Observer)、 具体观察者(Concrete Observer) 3. 优点 3.1 …

《Spring Cloud学习笔记:Nacos配置管理 OpenFeign LoadBalancer Getway》

基于Feign的声明式远程调用&#xff08;代码更优雅&#xff09;&#xff0c;用它来去代替我们之前的RestTemplate方式的远程调用 1. Nacos配置管理&#xff1a;Nacos Config 服务配置中心介绍 首先我们来看一下,微服务架构下关于配置文件的一些问题&#xff1a; 配置文件相…

Netty—Reactor线程模型详解

文章目录 前言线程模型基本介绍线程模型分类Reactor线程模型介绍Netty线程模型&#xff1a; 传统阻塞IO的缺点Reactor线程模型单Reactor单线程模式单Reactor多线程模式主从Reactor多线程Reactor 模式小结 Netty 线程模型案例说明&#xff1a;Netty核心组件简介ChannelPipeline与…

记一次接口交互is开头的属性序列化后“is”丢失问题

问题背景&#xff1a; 今天在做项目联调时调用别人的第三方接口时&#xff0c;发现字段传递不对导致参数传递异常的问题&#xff0c;当时还很奇怪&#xff0c;明白传好着呢&#xff0c;怎么就好端端的出现字段不对的情况呢&#xff1f; 查看发现该字段为boolean类型的isIsRef…