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 8.0主从同步,Linux与Window -> 正文阅读

[系统运维]MySQL 8.0主从同步,Linux与Window

MySQL主从同步

我的配置:MySQL 8.0,Centos 7(主机),Windows 10(从机)

第一步:查看binlog是否开启

MySQL8.0开始,默认开启binlog,如果是5.7的版本,也可以在my.cnf/my.ini中进行配置开启。

show variables like '%log_bin%';

主机

从机

在这里插入图片描述

第二步:设置配置文件

主机

Linux下的MySQL的配置文件默认在/etc/my.cnf,使用vim命令进行编辑

vim /etc/my.cnf

在[mysqld]下配置信息,注意是[mysqld]下,如果配置到其他地方会导致读取不到。

这里的binlog-do-db可以不配置,根据需求来。

从机

Windows下的MySQL配置文件默认在C:\Program Files\MySQL下,打开my.ini进行编辑

同样,在[mysqld]下配置信息

在这里插入图片描述

第三步:重启服务

主机

Linux下MySQL重启命令

systemctl restart mysqld.service

在这里插入图片描述

从机

打开cmd先输入net stop mysql,然后再输入net start mysql

net stop mysql
net start mysql

在这里插入图片描述

第四步:设置账号

主机

通常,主从同步业务场景,是给予从库一个账号,正常是不会给予root账号的,这里我先使用我之前创建的账号zhku进行演示(你也可以使用root账号,但不建议)。

先查看该账户是否具有主从同步的权限

select Repl_slave_priv, Repl_client_priv from mysql.user where user = 'zhku';

在这里插入图片描述

显示没有赋予该权限

赋予权限

grant replication slave, replication client on *.* to 'zhku'@'%';

第五步:查看状态

主机

查看master状态
show master status;

在这里插入图片描述

file:表示同步的bin-log信息从哪个文件开始;

position:表示从file的哪个位置开始;

binlog_do_db:表示同步哪一个库(如果在配置文件中没有设置,则是空)

从机

在从机上设置主服务器IP地址
change master to master_host='120.***.***.110',master_port=3306,master_user='zhku',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=156;

这里设置master_host为主机的IP地址,master_user为登录用户,如zhku,设置master_password为密码,这里我的密码是123456,master_log_file为主机上查看master status的file,master_log_pos为主机上查看到的position。

开启slave
start slave;
查询slave状态
show slave status;

在这里插入图片描述

结果太多,我这里以列显示好看一点。

可以看到最关键的两个参数,倒数两个,Slave_IO_Running和Slave_SQL_Running,显示Yes则代表成功实现主从同步,第一个Slave_IO_State也显示正在等待主机发送事件信息。

到此为止就配置成功了!

遇到的问题

第一个问题:在第三步重启服务时启动失败

原因是配置文件有问题,需要检查配置文件是否配置正确,如单词拼写,数据库是否存在等。

第二个问题:在第五步时从机查看slave status时,Slave_IO_Running显示Connecting

在这里插入图片描述

原因:可以继续查看后面的列,找到Last_IO_Error列

在这里插入图片描述

查看里面的报错显示的是Authentication plugin ‘caching_sha2_password’ reported error: Authentication requires secure connection.。

在这里插入图片描述

前往主机查询

在这里插入图片描述

发现zhku账号与root账号的plugin值不同,需要将zhku账号的plugin值修改为mysql_native_password(使用update语句,这里不再赘述),修改后即可成功显示两个YES。

这里也有可能报错信息不是这个问题,该列显示connecting的问题主要有三个,一个是网络问题,一个是账号密码不对,一个是master_log_file和master_log_pos设置不对。网络问题的话可以检查防火墙是否开启,笔者这里使用的是阿里云服务器,服务器上打开了安全组,Centos上打开了防火墙端口,所以可以访问,如果是虚拟机则要看桥接模式等,这里不再赘述。

Linux上打开,关闭,查看防火墙的博文链接:

https://blog.csdn.net/weixin_45930241/article/details/123219592

第三个问题:在第五步时从机查看slave status时,Slave_IO_Running显示No

在这里插入图片描述

同第二个问题,查询后面的信息列,看看报错原因是什么

在这里插入图片描述

发现显示文件名字不一致

show master status;

在从机上使用show master status命令查看

在这里插入图片描述

在主机上使用show master status命令查看

在这里插入图片描述

比对发现,File和Position不一致。

使用stop slave命令停掉从机的slave,回到第五步,重新使用change master命令设置,最后再start slave即可,如果还不行,就再去检查两个机器的配置文件是否修改正确。

stop slave;
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:41:37  更:2022-04-27 11:43:31 
 
开发: 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/15 21:07:17-

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