MySQL主从同步

news2024/9/20 22:32:18

©网络研究院

安装环境

基本需求

——采用CentOS7系统搭建MySQL服务器

——关闭防火墙

——关闭SELinux

——软件 MySQL-5.7.17-1

安装MySQL 续(1)

从官方下载RPM软件包

——http://dev.mysql.com/downloads/mysql/

——适用于当前系统的bundle集合包

mysql-community-client //客户端应用程序

mysql-community-common //数据库和客户端库共享文件

mysql-community-devel //客户端应用程序的库和头文件

mysql-community-embedded //嵌入式函数库

mysql-community-embedded-compat //嵌入式兼容函数库

mysql-community-embedded-devel //头文件和库文件作为MySQL的嵌入式库文件

mysql-community-libs //MySQL数据库客户端应用程序的共享库

mysql-community-libs-compat //客户端应用程序的共享兼容库

安装MySQL 续(2)

采用U升级安装,可替换冲突文件

[root@localhost ~]# tar –xf  mysql-5.7.17.tar  -C  /root/mysql

[root@localhost mysql]# yum -y install net-tools // //安装MySQL需要的依赖包

[root@localhost ~]# yum -y install perl-Data-Dumper //安装MySQL需要的依赖包

[root@localhost ~]# yum -y install perl-JSON //安装MySQL需要的依赖

[root@localhost ~]# rpm -Uvh mysql-community-*.rpm //升级安装MySQL

启动MySQL数据库服务

[root@localhost ~]# systemctl start mysqld //启动服务

[root@localhost ~]# ps -C mysqld //查看服务进程

[root@localhost ~]# systemctl status mysqld //查看服务状态

[root@localhost ~]# ss -anptul | grep mysqld //查看服务状态

[root@localhost ~]# systemctl enable mysqld //设置服务开机自启

MySQL服务相关参数

主配置文件:/etc/my.cnf

数据库目录:/var/lib/mysql

默认端口号:3306

进程名:mysqld

传输协议:TCP

进程所有者:mysql

进程所属组:mysql

MySQL初始配置

修改root口令

——默认的数据库管理账号 root 允许从 localhost 访问

——首次登录密码在安装时随机生成

——存储在错误日志文件里 /var/log/mysql.log

[root@localhost ~]# grep -i password /var/log/mysqld.log

用初始密码登录MySQL服务器

[root@localhost ~]# mysql -uroot –p’0Yy7GFBpud:g’

修改MySQL初始密码

密码安全策略变量:validate_password_policy

mysql> set global validate_password_policy=0; //只验证长度(LOW策略)默认为1

mysql> set global validate_password_length=4; //修改密码长度,默认是 8个字符

修改MySQL初始密码 续(1)

操作方法

用 alter user 重设口令

mysql> alter user root@“localhost” identified by “1234”; //修改登录密码

mysql> exit

[root@localhost ~]# mysql -uroot -p123456 //使用新密码重新登录

永久修改密码策略

修改/etc/my.cnf

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

[mysqld]

validate_password_policy=0 //密码验证策略

validate_password_length=4 //密码长度

[root@localhost ~]# systemctl restart mysqld //重启MySQL

案例拓扑

一主一丛案例拓扑

单项复制时,建议把从库设为只读

主从同步原理

Master记录数据更改操作

启用binlog日志

设置binlog日志格式

设置server_id

Slave运行2个线程

Slave_IO:复制master主机binlog日志文件里的SQL到本机的relay-log文件里

Slave_SQL:执行本机relay_log文件里的SQL语句重现Master的数据操作

主从同步构建思路

确保数据相同,从库必须要有主库上的数据

主服务器

启用binlog日志、授权用户、查看当前正在使用的日志

从服务器

设置server_id,指定主库信息

测试配置

客户端连接主库写入数据,在从库上也能查到

配置主服务器

[root@localhost]# vim /etc/my.cnf

重启服务

systemctl  restart  mysqld

创建授权用户

授权用户

允许授权用户 从IP 192.168.0.20 访问

对所有库(默认只允许对单个表)有同步权限

mysql> GRANT   REPLICATION   SLAVE   ON   *.*   TO

mysql> 用户名@”从库IP地址”  IDENTIFIED BY “密码”;

replication  slave        //同步数据的权限

配置主服务器(续1)

查看Master状态,记住当前的日志文件名和偏移量值

mysql>  show master status;

配置从服务器

从库指定server_id  不允许与主库sever_id的值相同

[root@slave ~]# vim /etc/my.cnf

[mysqld]

server_id=值

[root@slave ~]# systemctl restart mysqld 重启服务

配置从服务器(续1)

指定主库信息

mysql> CHANGE  MASTER   TO

>MASTER_HOST=“192.168.0.10”, //主库的IP地址

>MASTER_USER=“lw”  , //主库授权的用户

>MASTER_PASSWORD=“123456”  , //授权用户的密码

>MASTER_LOG_FILE=“localhost-bin.000002” , //binlog日志文件

>MASTER_LOG_POS=334; //日志文件的便宜值

mysql> START   SLAVE; //启动Slave进程

配置从服务器(续2)

配置从服务器(续3)

这两个值必须同时是yes状态

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

配置从服务器(续4)

从库启动成功后,数据库目录下新增加四个类型相关文件

master.info //存放主库信息

relay-log.info //中继日志信息

主机名-relay-bin.index //索引文件

主机名-relay-bin.xxxxxx //中继日志

测试配置

客户端测试

在主库授权一个用户然后客户端用授权用户登录测试

客户端登录

测试配置(续1)

用户对数据库进行创建和写入操作

测试配置(续2)

从库进行验证

主从同步结构

基本应用

 关注了解更多最新消息。icon-default.png?t=M85Bhttps://mp.weixin.qq.com/s/cuAXo-h1ERk98juZC0wVdw

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

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

相关文章

数图互通高校房产管理——校园电子地图

数图互通房产管理系统在这方面做得比较全面; 1、校园电子地图建设方案 支持地图和房间双向无缝对接。通过电子地图选择建筑物(平面或立体)能够查看建筑物信息、楼层平面布局图或立体图,点击楼层上的房间能够编辑或查看房间信息。…

非零基础自学Golang 2 开发环境 2.4 Git 安装

非零基础自学Golang 学习文档地址:https://www.topgoer.cn/ 本文仅用于学习记录,不存在任何商业用途,如侵删【已联系过文档作者】 文章目录非零基础自学Golang2 开发环境2.4 Git 安装2.4.1 安装git2 开发环境 2.4 Git 安装 2.4.1 安装git 虽…

Web 性能测试

Web 性能测试 作为网站应用的开发者或维护者,我们需要时常关注网站当前的健康状况,譬如在主流程运行正常的情况下,各方面性能体验是否满足期望,是否存在改进与提升的空间,如何进行快速且准确的问题定位等,…

mongoDB操作文档(全部)

mongoDB 1、创建、查询数据库 创建数据库 use dade 查询数据库 show dbs 2、创建集合、查看 创建集合插入数据 db.集合名.insert({}) db.dade.insert({dade:大得,age:18}) ​ 查看集合 show tables ​ 查看集合中的数据 db.集合名.find() 查询所有 db.dade.find() ​ db.集…

微服务框架 SpringCloud微服务架构 16 SpringAMQP 16.1 基本介绍

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构16 SpringAMQP16.1 基本介绍16.1.1 什么是SpringAMQP16 SpringAMQP 16.1 …

Android -- 每日一问:你在Android开发中遇到的技术难题是什么,你是怎么解决的?

经典回答 一个工作过几年的程序员肯定会有工作中遇到技术难点问题,虽然这个问题有可能对于别人不是技术难点,但只要对于当时的你是技术难点,只要让你抓耳挠腮毫无头绪就往往会在你的大脑中留下深刻的印象。 这个问题,我也比较难…

【三维目标检测】VoteNet(二)

VoteNet数据和源码配置调试过程请参考上一篇博文:【三维目标检测】VoteNet(一)_Coding的叶子的博客-CSDN博客。本文主要详细介绍VoteNet网络结构及其运行中间状态。 1 VoteNet模型总体过程 VoteNet核心思想在于通过霍夫投票的方法实现了端到…

[附源码]计算机毕业设计基于SpringBoot的高校课程知识库

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

1550_AURIX_TC275_锁相环的操作

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 继续SCU模块的学习,这一次主要是看一下锁相环的操作。锁相环之前接触的不少了,其实主要的一个功能就是提升单片机的时钟主频。 1. 备份时钟其实也是稳定可靠的&…

供应荧光染料FITC-PEG-FA,Folic acid-PEG-Fluorescein,荧光素-聚乙二醇-叶酸

An English name:FITC-PEG-FA,Folic acid-PEG-Fluorescein Chinese name:荧光素-聚乙二醇-叶酸 Item no:X-GF-0247-5k CAS:N/A Formula:N/A MW:荧光素-聚乙二醇5-叶酸、FITC-PEG 2-FA、荧光…

使用Python和SAS Viya分析社交网络

本示例使用Python和SAS分析了预防高危药物研究的结果。这个社交网络有194个节点和273个边,代表药物、使用者之间的联系。最近我们被客户要求撰写关于社交网络的研究报告,包括一些图形和统计输出。 背景 SAS Viya的最新版本提供了用于探索实验问题的全套创…

GIT分布式版本控制系统 | 命令讲解入门

Git概述 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件;分布式相比于集中式的最大区别在于开发者可以提交到本地&#xff0c…

车间调度|基于帝王蝶优化算法的车间调度(Matlab代码实现)

目录 1 概述 2 蝴蝶优化算法 3 车间调度 3.1 车间调度描述 3.2 数学模型 4 运行结果 5 参考文献 6 Matlab代码实现 1 概述 随着智能化在制造业中的普及,解决车间生产调度的问题能有效提高车间的工作学习效率,实现车间现场管理的有序化、智能化…

极客时间Kafka - 01 Kafka术语|生产者|消费者|主题|分区|副本|ISR|OSR|AR|HW|LEO|Offset

文章目录1. 为什么需要消息引擎?2. Kafka 相关术语3. Kafka 基本概念1. 为什么需要消息引擎? 答案就是“削峰填谷”。 所谓的“削峰填谷”就是指缓冲上下游瞬时突发流量,使其更平滑。特别是对于那种发送能力很强的上游系统,如果没…

Java—hashCode、equals

文章目录hashCode()介绍hashCode()hashCode方法作用为什么要有hashCode()?equals()equals()作用?为什么重写equals方法必须重写hashcode方法?128陷阱?equals和hashCode的关系——————————————————————————…

前端环境变量及vite中本地环境配置实践

前言 前端在之前并没有工程化的概念,甚至开发环境、测试环境、生产环境全靠大家手动配置。 有了nodejs之后,环境变量 (environment variables)这个概念,便慢慢进入了前端的视野,方便了前端各种环境自动化…

Android背景和音乐

Android背景和音乐前言一、添加背景图片二、加入背景音乐前言 简单的给app添加背景图和音乐 一、添加背景图片 准备好一张合适的背景图片新建一个Empty Activity项目选择Java语言在res中创建一个mipmap文件,将准备的图片粘贴到该文件目录下 在activity_main.xml里面添加代码…

mysql高阶语句

目录 前言 一、高级sql语句 1、按关键字排序 二、区间判断 ——且/或 三、 distinct 查询不重复记录 四、对结果进行分组 五、限制结果条目——limit 六、设置别名(alias ——>as) 七、通配符 八、子查询 前言 当我们对mysql数据库进行了查…

GJB 5000B二级-QA质量保证

1、主要变化情况 修订2条,合并1条(绿色),新增1条(黄色) 新增的主要内容 将原标准过程域名称“过程和产品质量保证”改为“质量保证” 目的:评价并改进已执行的过程和所产生的工作产品的质量,确保其满足已制定的过程说明和适用的标准。 (GJB5000A:过程和产品质量保…

RISC-V SiFiveU64内核——L2 Prefetcher预期器

目录L2 Prefetcher简介操作流退出页边界Memory Map控制寄存器L2 Prefetcher 初始化L2 prefetcher是U64内核新增的功能,U54内核没有这个功能。打开L2 prefetcher功能后,当访问大片内存,同时dcache中没有缓存时,访问内存的速率可以提…