| |
|
开发:
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中进行配置开启。
主机从机第二步:设置配置文件主机Linux下的MySQL的配置文件默认在/etc/my.cnf,使用vim命令进行编辑
在[mysqld]下配置信息,注意是[mysqld]下,如果配置到其他地方会导致读取不到。 这里的binlog-do-db可以不配置,根据需求来。 从机Windows下的MySQL配置文件默认在C:\Program Files\MySQL下,打开my.ini进行编辑 同样,在[mysqld]下配置信息 第三步:重启服务主机Linux下MySQL重启命令
从机打开cmd先输入net stop mysql,然后再输入net start mysql
第四步:设置账号主机通常,主从同步业务场景,是给予从库一个账号,正常是不会给予root账号的,这里我先使用我之前创建的账号zhku进行演示(你也可以使用root账号,但不建议)。 先查看该账户是否具有主从同步的权限
显示没有赋予该权限 赋予权限
第五步:查看状态主机查看master状态
file:表示同步的bin-log信息从哪个文件开始; position:表示从file的哪个位置开始; binlog_do_db:表示同步哪一个库(如果在配置文件中没有设置,则是空) 从机在从机上设置主服务器IP地址
这里设置master_host为主机的IP地址,master_user为登录用户,如zhku,设置master_password为密码,这里我的密码是123456,master_log_file为主机上查看master status的file,master_log_pos为主机上查看到的position。 开启slave
查询slave状态
结果太多,我这里以列显示好看一点。 可以看到最关键的两个参数,倒数两个,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命令查看 比对发现,File和Position不一致。 使用stop slave命令停掉从机的slave,回到第五步,重新使用change master命令设置,最后再start slave即可,如果还不行,就再去检查两个机器的配置文件是否修改正确。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |