【问题标题】:Error 1067: The process terminated unexpectedly when trying to start MySQL错误 1067:尝试启动 MySQL 时进程意外终止
【发布时间】:2014-06-19 06:53:35
【问题描述】:
我有 WAMP 服务器版本 2.2。此前,MySQL Server 运行正常。 我不知道为什么当我尝试启动时,它不能再启动了。 以下是 MySQL.log 的内容: 140502 21:04:46 [注意] 插件 'FEDERATED' 已禁用。 140502 21:04:47 InnoDB:InnoDB 内存堆已禁用 140502 21:04:47 InnoDB:互斥锁和 rw_locks 使用 Windows 互锁函数 140502 21:04:47 InnoDB:压缩表使用 zlib 1.2.3 140502 21:04:47 InnoDB:初始化缓冲池,大小 = 128.0M 140502 21:04:47 InnoDB:缓冲池初始化完成 140502 21:04:47 InnoDB:支持的最高文件格式是梭子鱼。 140502 21:04:47 InnoDB:等待后台线程启动 140502 21:04:48 InnoDB:1.1.8 开始;日志序列号 1595675 140502 21:04:48 [注意] 服务器主机名(绑定地址):'(null)';端口:3306 140502 21:04:48 [注意] - '(null)' 解析为 '::'; 140502 21:04:48 [注意] - '(null)' 解析为 '0.0.0.0'; 140502 21:04:48 [注意] 在 IP 上创建的服务器套接字:'0.0.0.0'。 140502 21:04:48 [错误] 无法启动服务器:在 TCP/IP 端口上绑定:没有这样的文件或目录 140502 21:04:48 [错误] 您是否已经在端口:3306 上运行了另一个 mysqld 服务器? 140502 21:04:48 [错误] 中止 140502 21:04:48 InnoDB:开始关机... 140502 21:04:49 InnoDB:关闭完成;日志序列号 1595675 140502 21:04:49 [注意] wampmysqld:关机完成 我已经尝试重新安装 WAMP 服务器,但出现了同样的错误。 有人能帮助我吗...

【问题讨论】:

  • 欢迎来到 StackOverflow Irhandi Ferianto!你试图解决什么问题?你对电脑做了什么改动吗?你能扭转这些变化吗?

标签: mysql innodb


【解决方案1】:

设置文件my.ini: innodb_flush_method=正常

【讨论】:

  • 请在代码之外提供一些解释。
【解决方案2】:

我在使用 32 位 Windows 7 时遇到了同样的问题。

原因

某些文件名是 Windows 保留的,例如 ${machinename}.pid${machinename}.err 等。

MySQL 默认使用其中一些文件名。

解决方案

安装完成后,在配置阶段,有一个高级选项,您可以使用它更改这些文件名。您可以更改日志文件名,但不能更改 pid 文件名。

您需要通过配置向导单步执行“启动服务”步骤,然后它会抛出错误/警告消息。让向导暂停(不要停止/取消向导)。

至此,您的my.ini 文件已创建完毕。您可以添加以下变量

pid_file=/path/to/pid/file.pid

然后转到 Windows 服务并启动该服务。

注意不要停止/取消向导。

服务启动后,向导将继续,并正确配置 MySQL。

【讨论】:

    【解决方案3】:

    该端口上已经有东西在工作。在管理员 CMD 控制台中写入

    netstat -abn
    

    找到 3306 端口,你就会知道是什么阻塞了这个端口(什么已经在上面运行并阻塞了你的 mysql)。

    如果这对您没有帮助,请检查 my.ini 设置 在该文件中搜索

    socket = /something
    

    并将其更改为

    socket = c:/something
    

    【讨论】:

    • 我看到了netstat -abn的输出。但是[mysqld.exe]使用的端口3306
    • 所以它已经在那个端口上工作了。在 Windows 任务管理器中,转到“服务”选项卡,然后搜索 mysql 或名称类似的东西。您会在 Status => Running 中找到它,您可以停止它,然后通过 wamp 方式启动它。它应该工作。但在您始终可以尝试连接到数据库之前(例如,heidisql 用于 windows)以检查数据库是否正常工作。
    【解决方案4】:

    端口可能正试图由 InnoDB 以外的其他存储引擎打开。请参阅这篇文章,了解一些可以帮助您识别正在发生的事情的命令。

    例如,netstat -an | findstr "3306"

    danielschneller.com/2007/10/cant-start-server-bind-on-tcpip-port-no.html

    【讨论】:

    • 更好地使用netstat -ano | findstr "3306"。该命令会在右栏中显示进程 ID,以便您在任务管理器中轻松找到并杀死它。
    猜你喜欢
    • 2011-06-13
    • 2013-08-14
    • 1970-01-01
    • 2016-10-07
    • 2018-11-08
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多