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的主从复制之一主一从

mysql的主从复制之一主一从

准备两台mysql服务器node01和node02,这里我配置node01为主库(master),node02为从库(slave)。

1、在node01上修改/etc/my.cnf的文件

在my.cnf中的[mysqld]下面增加下面配置:这里需要注意server-id需要和其他mysql配置的不一样。

#mysql服务唯一id,不同的mysql服务必须拥有全局唯一的id
server-id=1
#启动二进制日期
log-bin=mysql-bin
#设置不要复制的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information-schema
#设置需要复制的数据库名称
binlog-do-db=duck
#设置binlog的格式ROW或者statement
binlog_format=statement

2、在node02上修改/etc/my.cnf文件

在my.cnf中的[mysqld]下面增加下面配置:这里需要注意server-id需要和其他mysql配置的不一样。

#服务器唯一id
server-id=2
#启动中继日志
relay-log=mysql-relay

3、两台服务器都配置完成后分别重新启动mysql服务

在shell窗口中输入下面命令进行重启服务:

service mysqld restart

4、在node01上创建账户并授权slave

登录node01的mysql并通过下面的SQL进行创建账号并且授权slave:

grant replication slave on *.* to 'root'@'%' identified by '123456';
--在进行授权的时候,如果提示密码的问题,就先输入下面两行命令来把密码验证取消,再输入上面的SQL。
set global validate_password_policy=0;
set global validate_password_length=1;

5、查看master的状态

通过下面SQL命令可以查看到主库的bin-log信息,主要包括文件名称,文件位置,库名,忽略的库名等

show master status

在这里插入图片描述

6、在node02上配置需要复制的主机

在node02上面配置主库服务器的IP,访问的用户名称,用户密码,访问的bin-log名称,还有文件位置。(需要根据步骤五中查询到的信息进行配置)

CHANGE MASTER TO MASTER_HOST='192.168.1.106',MASTER_USER='root',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=2488;

7、在node02上启动从服务器复制功能

start slave;

8、查看从服务器状态

show slave status\G

在这里插入图片描述
经过前面8个步骤后,观察两个关键的属性Slave_IO_Running,Slave_SQL_Running,当这两个属性都是yes的时候,表示主从复制已经准备好了,可以进行具体的操作了。如果上面有任何一个是no的则重置slave/master,并且重新配置。

补充项:

停止slave命令:

stop slave;

重置slave:

reset slave;

重置master:

reset master;

重置完成后继续重复步骤1-8即可。直到成功为止。

常见异常:

由于我们经常都是通过虚拟机备份镜像来快速搭建第二台mysql服务,这个时候就会导致mysql的UUID是相同的情况,就会出现异常:Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
解决办法:修改auto文件中的uuid与其它mysql的不一样即可。

vi /var/lib/mysql/auto.cnf

主从复制验证

  • 在上面node01(master库)中创建一个表:
create table test(name varchar(32));
  • 到node02(slave库)中查看是否自动同步创建了test表。
  • 在上面node01(master库)中的test表中插入一条数据:
insert into test values ('zhangsan');
  • 到node02(slave库)中查看是否自动同步插入了一条数据。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:47:32  更:2021-12-11 15:48:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/17 5:58:09-

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