IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 如何搭建mysql的主从关系 -> 正文阅读

[大数据]如何搭建mysql的主从关系

目录

1.什么是mysql主从

2.为什么要使用MySQL主从

3.MySQL主从的实现原理

4.如何搭建mysql主从关系

4.1.搭建两台有mysql的虚拟机(可以克隆)

4.2.保证自己的mysql可以远程访问--以前笔记有

4.3.修改ip地址(因为我是克隆的)

4.4.主库的搭建

4.4.1.配置mater的配置文件

4.4.2.执行完毕之后,需要重启Mysql

4.4.3.进入mysql中

4.4.4. 查看master状态

4.5.从库的搭建

4.5.1.配置从配置文件的配置

4.5.2.执行完毕之后,需要重启Mysql

4.5.3.进入到数据库

4.5.4.指定主库的ip 账号密码 日志文件 从什么时候推送日志文件

4.5.5.开启同步

4.5.6.查看同步的状态

4.5.6.如何解决


1.什么是mysql主从

mysql主从就是说,使用多台mysql服务器,实现对于数据的读写分离,分担单台mysql服务器的压力,使用一台服务器作为mysql主库,在这台服务器上实现对数据的写的操作,然后使用一台或多台服务器作为mysql从库,来实现对数据的读的操作

2.为什么要使用MySQL主从

我们都知道mysql是一个关系型数据库,用来存储我们的数据,那么就会有对于某一张表的curd,当我们的访问量和操作量 都比较大时,我们就有可能出现读写冲突,或者压力过大等问题。所以我们采用主从的方式来将数据的读写操作分离,一方面防止读写冲突,另一方面也能减轻单台mysql的压力,提高系统的扩展性和可用性。

3.MySQL主从的实现原理

当我们在mysql主库上进行写的操作时,主库会将操作进行备份,存储到二进制日志binlog中,由从库的I/O线程来读取binlog日志的内容,将主库中写的操作读取到从库并转存到从库的中继日志relaylog中,从库通过SQL线程将relaylog中的内容进行读取并写入库中,实现主从数据同步

4.如何搭建mysql主从关系

4.1.搭建两台有mysql的虚拟机(可以克隆)

4.2.保证自己的mysql可以远程访问--以前笔记有

设置远程访问

grant replication slave on *.* to 'root'@'192.168.192.131' identified by 'root';?? ?

flush privileges;

4.3.修改ip地址(因为我是克隆的)

?

4.4.主库的搭建

4.4.1.配置mater的配置文件

输入 vi/etc/my.cnf进入编辑模式

?输入配置内容

#mysql 服务ID,保证整个集群环境中唯一
server-id=1

#mysql binlog 日志的存储路径和文件名
log-bin=/var/lib/mysql/mysqlbin

#是否只读,1 代表只读, 0 代表读写
read-only=0

#忽略的数据, 指不需要同步的数据库
binlog-ignore-db=mysql

4.4.2.执行完毕之后,需要重启Mysql

systemctl restart mysqld

4.4.3.进入mysql中

mysql -root -p密码

4.4.4. 查看master状态

show master status;

File : 从哪个日志文件开始推送日志文件 给从节点
Position : 从哪个位置开始推送日志  从什么位置开始同步
Binlog_Ignore_DB : 指定不需要同步的数据库

4.5.从库的搭建

4.5.1.配置从配置文件的配置

输入 vi /etc/my.cnf进入编辑模式

#mysql服务端ID,唯一
server-id=2

#指定binlog日志
log-bin=/var/lib/mysql/mysqlbin

?4.5.2.执行完毕之后,需要重启Mysql

?systemctl restart mysqld

4.5.3.进入到数据库

mysql -uroot -p密码

4.5.4.指定主库的ip 账号密码 日志文件 从什么时候推送日志文件

change master to master_host= '192.168.74.152', master_user='root', master_password='1234', master_log_file='mysqlbin.000001', master_log_pos=154;?

指定当前从库对应的主库的IP地址,用户名,密码,从哪个日志文件开始的那个位置开始同步推送日志。 ?

4.5.5.开启同步

start slave;

4.5.6.查看同步的状态

show slave status \G;

出现两个yes 是成功的

4.5.6.如何解决

?1.查看主从的server_id变量

show variables like 'server_id';

?从上面的情形可知,主从mysql已经使用了不同的server_id

?2.查看auto.cnf文件

找auto.cnf文件文件的位置

find / -name auto.cnf

?我们发现两个的UUID相同

3.删除其中一个的auto.cnf文件

4.重启mysql

service mysql restart

5.进入mysql

mysql -uroot -p1234

6.指定当前从库对应的主库的IP地址,用户名,密码,从哪个日志文件开始的那个位置开始同步推送日志。

change master to master_host= '192.168.74.152', master_user='root', master_password='1234', master_log_file='mysqlbin.000001', master_log_pos=154;?

?7.开启同步

start slave;

?9.查看同步的状态

show slave status \G;

10. 停止同步操作

?stop slave;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:35:41  更:2022-09-21 00:37:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:10:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码