mysql 服务无法启动是啥原因?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 服务无法启动是啥原因?相关的知识,希望对你有一定的参考价值。

参考技术A

打开mysql server instance config ,然后,单击next,然后选择remove server instance,删除后,然后卸载mysql程序,卸载完成后。打开 Documents and Settings\\All Users目录,在里面有个application data文件夹,如果没有的话,那是他隐藏了,(工具----文件夹选项----显示隐藏的文件),打开application data 文件夹,里面有个mysql文件夹,删除即可,然后重新安装,绝对成功。

去mysql5\\data里面看一下.err日志,会有提示的。

1、可能端口被占用

2、可能my.cnf配置了错误的参数

3、可能没有初始数据库

解压后的文件有默认的配置文件(my-default.ini),但是默认的配置文件不好用,使用的时候会出现很多问题,比如里面的汉字全是乱码等。所以需要配置个人默认配置文件:在解压后的路径下新建文件:my.ini,将以下代码复制进去,代码中出现两次D:\\mysql-5.7.17-winx64,这是我的MySQL的解压路径,各位根据自己的路径替换掉即可。至此,MySQL可以执行安装了。

mysql数据库无法连续插入大量数据集的原因是啥?

【中文标题】mysql数据库无法连续插入大量数据集的原因是啥?【英文标题】:What is reason for mysql database couldn't insert huge data set continuously?mysql数据库无法连续插入大量数据集的原因是什么? 【发布时间】:2015-01-27 03:57:16 【问题描述】:

我正在尝试逐段阅读给定的网页链接、网页并将该数据插入数据库。

每次阅读并插入大约 20 个网页后,都会出现以下错误消息。

我在Xampp mysql 服务器上工作。清除历史记录后,cookies 会再次正常工作。然后在阅读网页并插入相同的错误之后。

没有合适的解决方案吗?一些堆栈溢出问题提到了编辑一些配置文件的一些想法。

因为我在 Windows 环境中工作,我不清楚他们在提到什么。他们提到增加最大连接。但不清楚他们提到的我如何编辑某些文件(不清楚该配置文件在 Windows 环境中的存储位置)。

错误信息:

 The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137)
    ... 12 more
Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292)
    ... 13 more
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)

【问题讨论】:

请检查您的代码以确保您在 JDBC 连接(和您的结果集)上正确调用 close()。这对我来说就像你的 MySQL 服务器被包含连接泄漏的应用程序(你的 Java 东西)击中。 @OllieJones 插入数据库后,我将在 finally 块中关闭连接。它也想关闭一些连接阅读类吗?根据下面的“Vishvesh Phadnis 答案”,我的问题解决了一些问题。但几分钟后,同样的事情又发生了。怎么了? 【参考方案1】:

在Mysql中my.ini或者可能是my-default.ini文件集max_allowed_packet=32M

之后重启mysql服务。

您可以根据需要指定尺寸。

用mysql命令shell

shell > mysql --max_allowed_packet=32M

【讨论】:

问题解决了一些扩展。现在大约五分钟阅读和插入。然后又发生了同样的事情。我该如何解决? 如果您有那么多可用内存,请将 max_allowed_pa​​cket 的大小增加到 500M 或 1024M。请参考:dev.mysql.com/doc/refman/5.5/en/packet-too-large.html 提前感谢。我只是逐段阅读并逐行插入。每次一个句子怎么变得太大了?大多数人都说内存泄漏。但是我每次在finally块插入数据后都会关闭连接。你怎么看? @Maduri 老实说我没有那么多经验,但不会每行打开连接对象。最好使用连接池 我会建议在 *** 上搜索或提出使用 java 插入大数据和数据插入统计数据的问题

以上是关于mysql 服务无法启动是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章

Mysql服务无法通过cmd启动,原因是啥?

在安装Mysql中出现启动服务失败的原因是啥?

filezilla无法启动文件传输错误的原因是啥

mysql 服务无法启动

linux telnet服务已经启动,但是还是无法使用telnet连接。请问是啥原因?

网络PXE启动是啥