VMware——WindowServer2012R2环境安装mysql5.7.14解压版_互为主从(图解版)
目录
- 一、服务器信息
- 二、192.168.132.35服务器上安装mysql(主)
- 2.1、环境变量配置
- 2.2、安装
- 2.2.1、修改配置文件内容
- 2.2.2、初始化mysql并指定超级用户密码
- 2.2.3、安装mysql服务
- 2.2.4、启动mysql服务
- 2.2.5、登录用户管理及密码修改
- 2.2.6、开启远程访问
- 三、192.168.132.36服务器上安装mysql(主)
- 四、mysql互为主从配置
- 4.1、修改两台服务器上mysql配置文件
- 4.1.1、修改192.168.132.35服务器上mysql配置
- 4.1.2、修改192.168.132.36服务器上mysql配置
- 4.2、创建两台服务器Replication用户
- 4.2.1、192.168.132.35服务器上创建Replication用户
- 4.2.2、192.168.132.36服务器上创建Replication用户
- 4.3、查看两台服务器的mysql bin log位置
- 4.3.1、查看192.168.132.35服务器上mysql bin log位置
- 4.3.2、查看192.168.132.36服务器上mysql bin log位置
- 4.4、设置两台服务器的Slave Replication
- 4.4.1、设置192.168.132.35服务器上Slave Replication
- 4.4.2、设置192.168.132.36服务器上Slave Replication
- 4.5、查看两台主机是否设置成功
- 4.5.1、查看192.168.132.35服务器是否设置成功
- 4.5.2、查看192.168.132.36服务器是否设置成功
- 五、mysql互为主从测试
- 5.1、192.168.132.35服务器创建数据库,并在192.168.132.36服务器上查看是否有192.168.132.35服务器创建的数据库
- 5.2、192.168.132.36服务器创建数据库,并在192.168.132.35服务器上查看是否有192.168.132.36服务器创建的数据库 - **192.168.132.35、192.168.132.36服务器把创建的数据库删除,如下图:**
- 六、报错解决
- 6.1、报错slave failed to initialize relay log info structure from the repository
- 6.2、报错Could not find first log file name in binary log index file
- 6.3、报错Client requested master to start replication from position > file size
一、服务器信息
| 服务器ip | 服务器角色 |
|---|---|
| 192.168.132.35 | 主从 |
| 192.168.132.36 | 主从 |
二、192.168.132.35服务器上安装mysql(主)
2.1、环境变量配置
- 解压版mysql-5.7.14-winx64.zip版本mysql到C:\software\目录下

- 右击计算机―【属性】―【高级系统设置】―【环境变量】-【系统变量】-【新建】
说明:由于我把mysql安装在C:\software\mysql-5.7.14-winx64文件下所以以这个路径为例
变量名:MYSQL_HOME
变量值:C:\software\mysql-5.7.14-winx64

- 找到系统变量“Path”然后点击【编辑】按钮。在变量值后面加上【 ;%MYSQL_HOME%\bin;】一定要记住每增加一条变量都要用分号隔开,点击【确认】
变量名:Path
变量值:在原有的值后面加上:;%MYSQL_HOME%\bin;

2.2、安装
2.2.1、修改配置文件内容
-
找到mysql安装目录,my-default.ini重命名为my.ini,编辑my.ini文件内容,如下:
[mysql] port = 3306 default-character-set=utf8 [mysqld] port = 3306 basedir=C:\\software\\mysql-5.7.14-winx64 datadir=C:\\software\\mysql-5.7.14-winx64\\data max_connections=200 character-set-server=utf8 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2.2.2、初始化mysql并指定超级用户密码
-
启动命令行,将目录切换到mysql安装目录的bin目录下。在命令行执行命令:结果如下图所示,记住下图中红框位置这个 临时密码。
mysqld --initialize --user=mysql --console
2.2.3、安装mysql服务
- 执行mysqld --install命令,返回结果:Service successfully installed。表示成功,如下图:

- 快捷键win+r,执行services.msc查看服务,看看mysql服务是否已出现,如下图表示ok。

2.2.4、启动mysql服务
-
执行如下命令,启动mysql服务,如下图:
net start mysql

-
如果发生错误:执行mysqld -remove命令移除mysql服务,然后执行mysqld --install重新安装,最后在执行net start mysql启动服务。
#移除mysql服务 mysqld -remove #重新安装 mysqld --install #启动服务 net start mysql -
如果无法启动程序,丢失MSVCR120.dll,这是微软官网的链接 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40784 下载自己对应的版本,安装,一般可以解决。

2.2.5、登录用户管理及密码修改
-
输入命令行如下命令,利用之前的临时密码输入即可登录数据库
mysql -u root -p
-
修改root用户密码
SET PASSWORD = PASSWORD('123456'); update mysql.user set Host='%' where HOST='localhost' and User='root'; flush privileges;
2.2.6、开启远程访问
-
查询所有数据库,进入mysql库,查询用户。
说明:host为localhost表示只允许本地登录,host为ip表示为只允许指定ip用户登录,host为%为允许任意ip用户登录#查询所有数据库 show databases; #进入mysql库 use mysql; #查询用户 select user,host from user;

-
新建允许远程链接mysql数据库的test用户
#表示创建一个登录名为test,密码为123456供任意ip访问的用户(%可用具体ip替代) grant all on *.* to test@'%' identified by '123456' with grant option; flush privileges;

三、192.168.132.36服务器上安装mysql(主)
- 安装步骤与192.168.132.35主服务器上安装mysql(主)步骤相同。
四、mysql互为主从配置
4.1、修改两台服务器上mysql配置文件
4.1.1、修改192.168.132.35服务器上mysql配置
-
修改192.168.132.35主服务器my.ini文件中的配置,在[mysqld]部分增加如下内容,(server_id的值要与192.168.132.36主服务器不同,其他内容相同,binlog_do_db的值为需要进行主从备份的数据库)
init_connect='SET NAMES utf-8' innodb_buffer_pool_size=64M innodb_flush_log_at_trx_commit=1 innodb_lock_wait_timeout=120 innodb_log_buffer_size=4M innodb_log_file_size=256M interactive_timeout=120 join_buffer_size=2M key_buffer_size=32M max_allowed_packet=16M max_heap_table_size=64M myisam_max_sort_file_size=64G myisam_sort_buffer_size=32M read_buffer_size=512kb read_rnd_buffer_size=4M skip_external_locking=on sort_buffer_size=256kb table_open_cache=256 thread_cache_size=16 tmp_table_size=64M wait_timeout=120 server_id =1 log_bin=C:\\software\\mysql-5.7.14-winx64\\mysqlbin #binlog记录内容的方式,记录被操作的每一行 binlog_format=ROW #减少记录日志的内容,只记录受影响的列 binlog_row_image=minimal #指定需要复制的数据库名为db_test,如果备份多个数据库,重复设置这个选项即可 binlog_do_db=db_test #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可 binlog_ignore_db=mysql binlog_ignore_db=performance_schema binlog_ignore_db=information_schema binlog_ignore_db=sys # 这个参数要加上,否则不会给更新的记录些到二进制文件里(未测试) log-slave-updates=1 #开启慢查询日志 slow_query_log=1 slow_query_log_file=C:\\software\\mysql-5.7.14-winx64\\mysql_slow_query.log long_query_time=10 log_error=C:\\software\\mysql-5.7.14-winx64\\mysql_error.log -
重启192.168.132.35主服务器MySQL服务

4.1.2、修改192.168.132.36服务器上mysql配置
-
修改192.168.132.36主服务器my.ini文件中的配置,在[mysqld]部分增加如下内容,(server_id 的值要与192.168.132.35主服务器不同,其他内容相同,binlog_do_db的值为需要进行主从备份的数据库)
init_connect='SET NAMES utf-8' innodb_buffer_pool_size=64M innodb_flush_log_at_trx_commit=1 innodb_lock_wait_timeout=120 innodb_log_buffer_size=4M innodb_log_file_size=256M interactive_timeout=120 join_buffer_size=2M key_buffer_size=32M max_allowed_packet=16M max_heap_table_size=64M myisam_max_sort_file_size=64G myisam_sort_buffer_size=32M read_buffer_size=512kb read_rnd_buffer_size=4M skip_external_locking=on sort_buffer_size=256kb table_open_cache=256 thread_cache_size=16 tmp_table_size=64M wait_timeout=120 server_id =2 log_bin=C:\\software\\mysql-5.7.14-winx64\\mysqlbin #binlog记录内容的方式,记录被操作的每一行 binlog_format=ROW #减少记录日志的内容,只记录受影响的列 binlog_row_image=minimal #指定需要复制的数据库名为db_test,如果备份多个数据库,重复设置这个选项即可 binlog_do_db=db_test #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可 binlog_ignore_db=mysql binlog_ignore_db=performance_schema binlog_ignore_db=information_schema binlog_ignore_db=sys # 这个参数要加上,否则不会给更新的记录些到二进制文件里(未测试) log-slave-updates=1 #开启慢查询日志 slow_query_log=1 slow_query_log_file=C:\\software\\mysql-5.7.14-winx64\\mysql_slow_query.log long_query_time=10 log_error=C:\\software\\mysql-5.7.14-winx64\\mysql_error.log -
如果是复制的192.168.132.35服务器到192.168.132.36服务器,需要修改192.168.132.36服务器C:\software\mysql-5.7.14-winx64\data\auto.conf文件中的值,需要与192.168.132.35服务器中的值不同。
一定要修改值不一样,此处大坑。。。。。。 -
重启192.168.132.36从服务器MySQL服务

4.2、创建两台服务器Replication用户
4.2.1、192.168.132.35服务器上创建Replication用户
-
创建Repl用户
grant all on *.* to 'repl'@'%' identified by '123456' with grant option; grant replication slave on *.* to 'repl'@'%'; grant replication client,replication slave on *.* to 'repl'@'%' identified by '123456'; flush privileges;

4.2.2、192.168.132.36服务器上创建Replication用户
-
创建Repl用户
grant all on *.* to 'repl'@'%' identified by '123456' with grant option; grant replication slave on *.* to 'repl'@'%'; grant replication client,replication slave on *.* to 'repl'@'%' identified by '123456'; flush privileges;

4.3、查看两台服务器的mysql bin log位置
4.3.1、查看192.168.132.35服务器上mysql bin log位置
-
查看mysql bin log位置,执行如下命令:
#锁定表,禁止所有操作。防止bin log位置发生变化 flush tables with read lock; #查看Master1服务器上bin log位置 show master status; #解除两台主机mysql table的锁定 unlock tables;
-
查询出的mysql bin log位置在步骤4.4步骤中会使用。
4.3.2、查看192.168.132.36服务器上mysql bin log位置
- 查看mysql bin log位置,执行如下命令:
#锁定表,禁止所有操作。防止bin log位置发生变化 flush tables with read lock; #查看Master1服务器上bin log位置 show master status; #解除两台主机mysql table的锁定 unlock tables;
- 查询出的mysql bin log位置在步骤4.4步骤中会使用。
4.4、设置两台服务器的Slave Replication
4.4.1、设置192.168.132.35服务器上Slave Replication
-
设置Slave Replication,执行如下命令:
stop slave; change master to master_host = '192.168.136.36', master_user = 'repl', master_password = '123456', master_port = 3306, master_connect_retry=30, master_log_file = 'mysqlbin.000009',master_log_pos = 154; start slave;
4.4.2、设置192.168.132.36服务器上Slave Replication
-
设置Slave Replication,执行如下命令:
stop slave; change master to master_host = '192.168.136.35', master_user = 'repl', master_password = '123456', master_port = 3306, master_connect_retry=30, master_log_file = 'mysqlbin.000009',master_log_pos = 154; start slave;
4.5、查看两台主机是否设置成功
4.5.1、查看192.168.132.35服务器是否设置成功
-
查看是否设置成功,执行如下命令:
show slave status\G; -
其中Slave_IO_Running:Yes Slave_SQL_Running:Yes表示主从搭建已成功,如下图:

4.5.2、查看192.168.132.36服务器是否设置成功
-
查看是否设置成功,执行如下命令:
show slave status\G; -
其中Slave_IO_Running:Yes Slave_SQL_Running:Yes表示主从搭建已成功,如下图:

五、mysql互为主从测试
5.1、192.168.132.35服务器创建数据库,并在192.168.132.36服务器上查看是否有192.168.132.35服务器创建的数据库
-
192.168.132.35服务器创建db_test数据库,创建表t_user并新增一条数据,如下图:

-
192.168.132.36服务器上查看db_test数据库、t_user表及表中数据,如下图:

-
192.168.132.35、192.168.132.36服务器把创建的数据库删除,如下图:
5.2、192.168.132.36服务器创建数据库,并在192.168.132.35服务器上查看是否有192.168.132.36服务器创建的数据库 - 192.168.132.35、192.168.132.36服务器把创建的数据库删除,如下图:
-
删除192.168.132.36服务器上创建的db_test数据库,如下图:

-
刷新192.168.132.35服务器上数据库,其中db_test库也同步删除了,如下图:

六、报错解决
6.1、报错slave failed to initialize relay log info structure from the repository
-
解决方式
#重置slave reset slave
6.2、报错Could not find first log file name in binary log index file
-
解决方式
#停止报错机器的slave stop slave; #执行flush logs;因为刷新日志file的位置会+1,使2台机器的mysqld-bin的相同 flush logs; #在启动slave start slave;
6.3、报错Client requested master to start replication from position > file size
-
解决方式
#查看bin log位置 show master status; #重新执行 slave replication stop slave; change master to master_host = '192.168.136.36', master_user = 'repl', master_password = '123456', master_port = 3306, master_connect_retry=30, master_log_file = 'mysqlbin.000009',master_log_pos = 154; start slave;
相关文章:
VMware——WindowServer2012R2环境安装mysql5.7.14解压版_互为主从(图解版)
目录 一、服务器信息二、192.168.132.35服务器上安装mysql(主)2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 三…...
python 实现蚁群算法(simpy带绘图)
这里使用了蚁群算法求解了旅行商问题,同时结合了simpy来绘图 选择下一个食物的函数为: probability[i] pheromone[self.now][self.not_to_foods[i]] ** pheromone_w (1 / distance[self.now][self.not_to_foods[i]]) ** distance_w 该条路概率权重该点…...
OpenAI 董事会宫斗始作俑者?一窥伊尔亚·苏茨克维内心世界
OpenAI 董事会闹剧应该是暂告一个段落了,Sam Altman和Greg Brockman等一众高管均已加入微软,还有员工写联名信逼宫董事会的戏码,关注度已经降下来了。 但是,这场宫斗闹剧的中心人物Ilya Sutskever大家关注度不算太高。他本人是纯粹的技术男,极少抛头露面透露其内心世界。…...
Android App 启动状态有几种?
startup state Android 启动状态(startup state)1.1、冷启动(Cold Start)1.2、温启动(Warm Start)1.3、热启动(Hot Start)1.4、后台启动(Background Start) 优…...
Spring Cloud Alibaba Sentinel 简单使用
Sentinel Sentinel 主要功能Sentinel 作用常见的流量控制算法计数器算法漏桶算法 令牌桶算法Sentinel 流量控制Sentinel 熔断Sentinel 基本使用添加依赖定义资源定义限流规则定义熔断规则如何判断熔断还是限流自定义 Sentinel 异常局部自定义异常全局自定义异常系统自定义异常…...
nvm切换node后,没有npm
当我们想要在不同的 Node.js 版本之间切换的时候,通常会使用 nvm(Node Version Manager) 来完成。但是,当我们在使用 nvm 切换 Node.js 版本的时候,可能会遇到没有 npm 的情况。这种情况通常发生在我们在新环境或者重新…...
Redis-高性能原理剖析
redis安装 下载地址:http://redis.io/download 安装步骤: # 安装gcc yum install gcc# 把下载好的redis-5.0.3.tar.gz放在/usr/local文件夹下,并解压 wget http://download.redis.io/releases/redis-5.0.3.tar.gz tar -zxvf redis-5.0.3.tar…...
ORA-00600 【3948】,ORA-00600 【3949】
前言 这个报错没有从ORA600那个tool中查到。 回顾 环境 环境是windows 11203 rac环境,非归档数据库 有部分数据文件建到了本地文件系统。目标是将部分数据文件通过switch to copy的形式移动到diskgroup里 流程 srvctl关闭双节点, 启动单节点到moun…...
flink 查看写入starrocks的数据量 总行数
针对该connector: https://github.com/StarRocks/docs.zh-cn/blob/main/loading/Flink-connector-starrocks.md...
全链路压测的步骤及重要性
全链路压测是一种系统性的性能测试方法,旨在模拟真实用户场景下的完整操作流程,全面评估软件系统在不同压力下的性能表现。这种测试方法对于保证应用程序的高可用性、稳定性和可扩展性至关重要。 1. 全链路压测概述 全链路压测是在模拟实际用户使用场景的…...
使用Python实现几种底层技术的数据结构
使用Python实现几种底层技术的数据结构 数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这…...
前端面试题【72道】
文章目录 1. 说说你对盒子模型的理解2. css选择器有哪些?优先级?哪些属性可以继承?3. 元素水平垂直居中的方法有哪些?如果元素不定宽高呢?4. 怎么理解回流跟重绘?什么场景下会触发?5. 什么是响应…...
OpenGL 绘制文本(QPainter)
文章目录 一、简介二、实现代码三、实现效果一、简介 OpenGL中并没有绘制文本的相关函数,因此这里仍然用的是Qt中的QPainter工具来绘制文本,但是其相关的定位这里仍然会用OpenGL中的坐标转换。这里对其也进行封装一下,方便后续使用。 二、实现代码 TextDrawable.h #ifndef T…...
windows电脑连接Android和iPhone真机调试
windows电脑连接Android和iPhone真机调试 目前用的是Hbuilder X编辑器,在正常情况下,Android手机需要在 "设置 ----> 更多设置 ----->关于手机 ------> 版本号(手指点击5-7下即可打开开发者模式)"(我的是vivo的…...
windows上 adb devices有设备 wsl上没有
终于解决了!!!! TAT,尝试了很多种办法。 比如WSL中的adb和Windows中的adb版本必须一致,一致也没用,比如使用 ln 建立链接也没用。 这个解决办法的前提是windows中的abd是好用的。 ●在windows…...
释放搜索潜力:基于Docker快速搭建ES语义检索系统(快速版),让信息尽在掌握
搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…...
JS--localStorage设置过期时间的方案(有示例)
原文网址:JS--localStorage设置过期时间的方案(有示例)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍如何使用localStorage设置数据的过期时间。 问题描述 localStorage是不支持设置过期时间的,cookie虽然支持设置过期时间但它存的数据量很小。所…...
JNPF开发平台凭什么火?
一、关于低代码 JNPF平台在提供无代码(可视化建模)和低代码(高度可扩展的集成工具以支持跨功能团队协同工作)开发工具上是独一无二的。支持简单、快速地构建及不断改进Web端应用程序,可为整个应用程序的生命周期提供全…...
关于“计算机中由于找不到msvcr120.dll,无法继续执行代码5种解决方法
今天,我想和大家分享一下关于“由于找不到msvcr120.dll,无法继续执行代码5种解决方法”的话题。在我们日常的使用中,有时候会遇到这样的问题:在运行某个程序时,突然提示“无法继续执行代码,因为找不到msvcr120.dll”。…...
LR学习笔记——基本面板
文章目录 面板介绍色彩调整区域明暗调整区域纹理及质感色彩饱和 面板介绍 面板如上图所示 基本可分为几个板块:色彩、明暗、纹理及质感、色彩饱和 色彩调整区域 色温:由蓝色和黄色控制色调:由绿色和洋红控制 互补色:蓝色对黄色&…...
VAP模型:视频生成技术的语义控制革新
1. 项目概述:视频生成技术的范式革新去年在做一个短视频特效项目时,我遇到了一个棘手问题:客户想要一段"夕阳下穿红裙的舞者在沙漠中旋转"的视频素材,但实拍成本太高,而用传统AI视频生成工具要么人物动作不连…...
AI图像内容安全:NSFW检测模型冷启动问题与轻量级热身技能实践
1. 项目概述:一个为AI图像内容安全“热身”的技能最近在折腾AI图像生成和内容审核相关的东西,发现一个挺有意思的项目,叫huangji6693-max/x-nsfw-warmup-skill。光看这个标题,可能有点摸不着头脑,但如果你也在这个领域…...
工业物联通信升级方案:蓝牙对讲机如何打通“人、机、场”实时协同
在工业物联场景里,通信从来不是“可有可无”的配套能力,而是保障生产节奏、安全响应和协同效率的关键基础设施。过去很多企业依赖传统对讲系统,虽然满足了基本通话,但在复杂现场中仍面临明显短板:有线耳机束缚作业动作…...
安川弧焊机器人焊接节气装置选型指南:实现节气40%-60%的节气效果
安川弧焊机器人凭借精准的运动控制与稳定的焊接性能,在电子制造、汽车零部件加工、精密焊接等领域应用广泛,其弧焊作业的核心需求的是兼顾焊缝质量与生产成本。保护气体作为弧焊作业的关键耗材,供给合理性直接影响焊缝成形与企业效益…...
opencode会话同步skill
Session Sync OpenCode 会话同步工具 - 将会话导出保存到 GitHub/Gitee Gist,或从 Gist 拉取历史会话并导入本地。 仓库地址:skills: skill合集 功能特性 📤 上传会话:将当前或指定的 OpenCode 会话导出为 JSON,上…...
Pixel2Geo 厘米级定位,危化园区无感全域管控
Pixel2Geo 厘米级定位,危化园区无感全域管控 前言 危化园区高危场景复杂、管线密集、动火作业频繁、安全管控容错率极低,传统UWB、GPS、穿戴标签定位存在部署成本高、信号遮挡失效、跨相机断链、人员抵触管理等诸多局限,无法实现全域不间…...
Palot:轻量级自动化工具,提升开发与运维效率
1. 项目概述与核心价值最近在折腾个人服务器和自动化流程时,发现了一个挺有意思的项目,叫palot。这个项目在 GitHub 上由ItsWendell维护,乍一看名字可能有点摸不着头脑,但深入了解后,你会发现它是一个非常贴合当下开发…...
嵌入式开发中的极限编程(XP)实践指南
1. 嵌入式开发的困境与XP的引入在嵌入式系统开发领域,我们常常面临两个几乎无法逃避的现实困境。第一个是所有软件开发项目共通的痛点:截止日期往往在需求明确之前就被固定下来。第二个则是嵌入式开发特有的挑战:目标硬件通常要到项目后期才能…...
AI智能体赋能TDD:自动化测试驱动开发的新范式
1. 项目概述:当AI智能体遇上TDD,一场开发流程的静默革命如果你是一名开发者,尤其是对测试驱动开发(TDD)又爱又恨的那种,那么你肯定经历过这样的场景:脑子里构思了一个新功能,然后开始…...
Intel VT-x虚拟化
基础概念VMX:全称 Virtual Machine Extensions,是 Intel x86 CPU 引入的硬件虚拟化指令集架构,是底层技术规范。VT-x:Intel 市场品牌名,等价于 VMX,日常语境二者完全同义。作用:解决 x86 经典特…...
