彻底解决 Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 解决方法

news2024/11/26 4:45:49

当我遇到这错误的时候,我去网上也找过对应解决方法,出现这个的原因有很多种情况

大多是解决Linux系统里的

我是windows系统里的MySQL服务出问题了,所有那些方法对我来说毫无意义.

好了,说一下我的解决办法,其实也很简单

只需要卸载mysql服务,注册表也要删干净,也要把环境变量删了,卸载之前做好数据备份,再去安装MySQL服务

重点来了: 在配置MySQL服务和数据存储路径时,要保存在系统指定的默认路径下,不然很有可能

导致再次报同样的错

具体操作可以往下观看:

MySQL数据库的卸载

步骤一:软件的卸载准备

学习网络编程时,TCP/IP协议程序有服务器端和客户端。mysql这个数据库管理软件是使用TCP/IP协议。我们现在要卸载的是mysql的服务器端,它没有界面。

【计算】-->右键-->【管理】-->【服务】-->【mysql的服务】-->【停止】

步骤二:软件的卸载

方式一:通过控制面板卸载

步骤三:清理残余文件

如果再次安装不成功,可以卸载后对残余文件进行清理后再安装。

(1)服务目录:mysql服务的安装目录

(2)数据目录:默认在C:\ProgramData\MySQL

如果自己单独指定过数据目录,就找到自己的数据目录,例如:

注意:请在卸载前做好数据备份

在操作完以后,需要重启计算机,然后进行安装即可。如果仍然安装失败,需要继续操作如下步骤四。

步骤四:清理注册表(选做)

如何打开注册表编辑器:在系统的搜索框中输入regedit

  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL服务 目录删除

  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL服务 目录删除

  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL服务 目录删除

  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL服务 目录删除

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL服务目录删除

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL服务删除

注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类

步骤五:清理服务列表中的服务名

如果在windows操作系统,删除注册表后,在服务列表中仍然存在原来的服务名,可以通过如下命令删除(必须是以管理员身份运行才能删除)

sc  delete  服务名

步骤六:清理原来的环境变量

找到path环境变量,将其中关于mysql的环境变量删除,切记不要全部删除。

例如:删除 C:\ProgramFiles\mysql\MySQLServer5.7\bin; 这个部分

MySQL数据库的安装

  • 双击mysql-installer-community-5.7.28.0.msi,进入安装界面后选择Custom自定义安装,点击Next

  • 在左侧目录中选择MySQL Server 5.7.28 -X64,点击加载到右侧,再点一下右边要安装的产品名 ,在右下角会出现Advanced Options,单击它可以设置安装路径

  • 这里选择默认位置,下图是自定义位置(不用管),点击OK。注意,安装目录避免空格和中文

  • 点击Next下一步

  • 点击Execute执行安装

    有的可能会出现提示需要先安装C++动态库等,那就先安装C++动态库,没有提示说明操作系统中有你需要的动态库。

  • 安装完成,点击Next下一步

  • 点击Next下一步

  • 点击Next下一步

  • 将MySQL配置类型选择Development Computer开发电脑设置,点击Next下一步

  • 设置MySQL密码,因为管理员用户为root,学习初期建议将MySQL数据库密码也设置为root,设置完成后,点击Next下一步

  • 设置Windows Service 系统服务,设置完毕后点击Next下一步

  • 日志设置,不做任何修改,点击Next下一步

  • 高级设置,不做任何修改,点击Next下一步

  • 点击Execute执行设置

  • 安装完成,点击Finish完成

MySQL数据库服务的启动和停止

MySQL软件的服务器端必须先启动,客户端才可以连接和使用使用数据库。

方式一:图形化方式

  • 计算机(点击鼠标右键)==》管理(点击)==》服务和应用程序(点击)==》服务(点击)==》MySQL57(点击鼠标右键)==》启动或停止(点击)

  • 控制面板(点击)==》系统和安全(点击)==》管理工具(点击)==》服务(点击)==》MySQL57(点击鼠标右键)==》启动或停止(点击)

  • 任务栏(点击鼠标右键)==》启动任务管理器(点击)==》服务(点击)==》MySQL57(点击鼠标右键)==》启动或停止(点击)

方式二:命令行方式(以管理员身份运行cmd)

启动 MySQL 服务命令:
net start MySQL57

停止 MySQL 服务命令:
net stop MySQL57

MySQL数据库环境变量的配置

环境变量名操作环境变量值
MYSQL_HOME新建C:\Program Files\MySQL\MySQL Server 5.7
path编辑%MYSQL_HOME%\bin

或者直接

环境变量名操作环境变量值
path编辑C:\Program Files\MySQL\MySQL Server 5.7\bin

MySQL数据库客户端的登录

方式一:MySQL自带客户端

开始菜单==》所有程序==》MySQL==》MySQL Server 5.7==》MySQL 5.7 Command Line Client

说明:仅限于root用户

方式二:命令行

mysql -h 主机名 -P 端口号 -u 用户名 -p密码

例如:mysql -hlocalhost -P3306 -uroot -proot  

注意:

(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格

mysql -hlocalhost -P3306 -uroot -proot

(2)密码建议在下一行输入

mysql -h localhost -P 3306 -u root -p
Enter password:****

(3)如果是连本机:-hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略

简写成:

mysql -u root -p123456

连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。

也可以在命令行通过以下方式获取MySQL Server服务版本的信息

登录后,通过以下方式查看当前版本信息:

方式三:可视化工具(建议使用)

例如:Navicat Preminum,SQLyog 等工具

还有其他工具:mysqlfront,phpMyAdmin

修改my.ini配置文件(重点)

该文件在你配置的MySQL的数据存储路径下

ProgramData是隐藏文件,需要打开显示隐藏文件的功能

在路径:C:\ProgramData\MySQL\MySQL Server 5.7 找到my.ini文件

​ 修改内容1: 找到[mysql]命令,大概在63行左右,在其下一行添加 default-character-set=utf8 修改内容2: 找到[mysqld]命令,大概在76行左右,在其下一行添加 character-set-server=utf8 collation-server=utf8_general_ci ​ 修改完毕后,重启MySQL57服务

cmd上登录MySQL服务,查看编码和排序方式,最后面的 ;  分号不能少

show variables like 'character_%';
或者:show variables like'%char%';

show variables like 'collation_%';

  • 如果框里是一样的就说明配置对了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/475656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C的文件操作

🐖前言 🐕1.为什们我们要用文件 在我们之前写程序时,如果使用scanf函数用键盘输入数据,这些东西都放到内存当中,一旦退出程序,那么这些数据就会消失,比如就像我们写的通讯录,不管是…

Shiro相关知识

1、Shiro功能概述 Apache Shiro是一个功能强大且易于使用的 Java 安全框架,可执行身份验证、授权、加密和会话管理。 主要功能: Authentication:身份认证。登录时验证身份信息。 Authorization:授权操作。访问控制的过程&…

CSS布局基础(标签类型,盒子模型)

布局基础 元素显示类型,盒子模型 标签类型块元素常见块元素 行内元素常见行内元素 行内块元素常见行内块 模式转换显示类型显著区别 盒子模型盒子组成布局描述边框圆角 内边距外边距块元素居中盒子内行内(块)元素居中 外边距使用陷阱两盒子外…

【进阶C语言】动态版通讯录的实现(详细讲解+全部码源)

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于C语言进阶系列,本专栏主要内容为数据的存储、指针的进阶、字符串和内存函数…

Linux基础IO【重定向及缓冲区理解】

✨个人主页: 北 海 🎉所属专栏: Linux学习之旅 🎃操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌇前言🏙️正文1、文件描述符1.1、先描述,再组织1.2、files_struct1.3、分配规则…

Java数组的学习(基础)

目录 第一章:数组的概念介绍 1.数组的概念 2.数组的初始化/数组的创建/数组的定义 第二章:数组的使用 数组添加元素的方法/数组的赋值 数组的遍历 数组之选择排序的升序 数组之冒泡排序的升序 数组的最小值 数组的反转 数组中常见的异常 第三…

Python程序员想要转行,可以从这几个方面着手

最近有很多朋友问我一个问题,不论是我们做程序员还是做产品经理或者其他行业,到了30岁或35岁之后,都会面临各种各样的问题,比如达到职业天花板。有没有一种方法能够解决这种问题呢?我想分享一下我的观点和身边的案例。…

《Netty》从零开始学netty源码(四十七)之PooledByteBuf的方法

setBytes() 从channel中读取数据并写到PooledByteBuf中,分配缓存的过程与getBytes一样,只是duplicate为false。 capacity() 动态更新容量,根据新传入的容量值更改length。 如果新容量值与旧值相同则无需扩容如果为非池化内存则根据新容量值…

Zabbix部署详解

文章目录 Zabbix安装部署一、zabbix-server端部署二、zabbix-agent端部署 Zabbix安装部署 环境准备 VMware Workstation Pro 15.0 版本 系统 Centos7 内存 4G 处理器 2G 硬盘 50G 网络适配器 NAT 两台服务器,一台做zabbix-server、一台做zabbix-agent 关闭防火墙、…

【华为OD机试真题】信号发射和接收(javaC++python)100%通过率 超详细代码注释

信号发射和接收 知识点数组栈 单调栈时间限制: 1s 空间限制: 256MB 限定语言:不限 题目描述: 有一个二维的天线矩阵,每根天线可以向其他天线发射信号也能接收其他天线的信号,为了简化起见,我们约定每根天线只能向东和向南发射信号,换言之,每根天线只能接收东向或南向发…

unity-VRTK-simulator开发学习日记2(抛物线 导包|使用|调用方法)

导包 使用抛物线 1.层级目录下添加抛物线曲线 2.将跟踪控制器 给到抛物线的“跟随资源” (选择哪只手射出射线) 3.激活按键 找到模拟手柄按键 找到simulator的交互的几个按键(ButtonOne为例) value,默认值为false&a…

Doris(20):Doris的函数—数学函数

1 查看函数名 show builtin functions in test_db; 2 abs(double a) 功能: 返回参数的绝对值 返回类型:double类型 使用说明:使用该函数需要确保函数的返回值是整数。 3 acos(double a) 功能: 返回参数的反余弦值 返回类型:double类型 MySQL 中反余弦函数 ACOS(…

【五一创作】使用Scala二次开发Spark3.3.0实现对MySQL的upsert操作

使用Scala二次开发Spark实现对MySQL的upsert操作 背景 在我们的数仓升级项目中,遇到了这样的场景:古人开发的任务是使用DataStage运算后,按照主键【或者多个字段拼接的唯一键】来做insert then update,顾名思义,也就…

能上网的ChatGPT,会带来什么改变

最近关注AI的人,应该会注意到这条新闻。 ChatGPT官方推出新模式—Default(GPT-3.5)with browsing 这个是之前ChatGPT没有的功能,ChatGPT以前的训练数据是在2021年左右,并不知道最近的新闻。 现在ChatGPT 能够联网以…

AIGC提词生成图片(人物照片)练习笔记

文生图, 图生图 等 AIGC 创作大火, 也来体验一下吧. 本文记录了环境搭建过程与使用心得. 如果动手能力弱或只想省心, 有 环境要求 列出来我的环境吧: CPU, AMD Ryzen 7 5800X 8-Core ProcessorRAM, 32GGPU, NVIDIA GeForce RTX 2070 SUPER (8G)OS, Windows 11 专业版开发环境…

Qt MSVC开发

环境搭建 安装Virsual Studio,版本可以选择最新版本,我安装的时vs2022,安装时需要勾选 C 桌面开发 安装QT, 下载地址:https://download.qt.io/official_releases/online_installers/,安装时需要选择MSVC 2019 64-bit。…

Packet Tracer - 配置 RIPv2

Packet Tracer - 配置 RIPv2 目标 第 1 部分:配置 RIPv2 第 2 部分:验证配置 拓扑图 背景信息 尽管在现代网络中极少使用 RIP,但是作为了解基本网络路由的基础则十分有用。 在本活动中,您将使用适当的网络语句和被动接口配置…

【LeetCood206】反转链表

题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 答案1: 新建链表,遍历原链表,一个一个头插到新建的链表.直到结点为null public ListNode reverseList(ListNode head) {ListNode secondListHead n…

【细读Spring Boot源码】监听器合集-持续更新中

前言 监听器汇总 归属监听器名称作用cloudBootstrapApplicationListenercloudLoggingSystemShutdownListenercloudRestartListenercloudLoggingSystemShutdownListenerspringbootEnvironmentPostProcessorApplicationListener用于触发在spring.factories文件中注册的Environm…

osg操控器之动画路径操控器osgGA::AnimationPathManipulator分析

目录 1. 前言 2. 示例代码 3. 动画路径操控器源码分析 3.1. 构造函数 3.2. home函数 3.3. handle函数 3.3.1 帧事件处理 3.3.2. 按键事件处理 4. 主要接口说明 1. 前言 osg官方提供了很多操控器,在源码目录下的src\osgGA目录下,cpp文件名含有Ma…