数据库 技术随笔

Windows 下 MySQL 服务无法启动 / 1067 错误排查与解决

Windows 下 MySQL 服务无法启动(含 1067 进程意外终止)是较常见的问题。下面按“原因 → 解决”的思路整理排查步骤。

一、为什么启动不了

  1. 配置文件 my.ini 缺失,或 [mysqld] 下 basedir / datadir 指向的目录不存在。
  2. MySQL 目录没有给系统(System)用户读写权限。
  3. 3306 端口被占用,需在 my.ini 改端口。
  4. 数据库文件损坏(非法关机等)。

二、命令行启停服务

net start mysql        # 启动(多个实例用对应服务名,如 mysql_cy)
net stop mysql         # 停止

查看安装位置与数据目录:服务属性里的“可执行文件路径”中 --defaults-file=... 即 my.ini 位置;无该参数时一般在系统目录或 MySQL 安装目录下。

三、1067 错误的常见解决

  1. 先尝试 mysqladmin -u root -p shutdown 关闭,再 net start mysql
  2. 检查 my.ini 的 [mysqld] 下 basedir / datadir 是否指向真实存在的目录(重装或 Remove Instance 后常被重置)。
  3. 确认 MySQL 目录权限(System 用户可读写)。
  4. 删除 %windir%/my.ini 后重新运行配置向导,或将安装目录下最新的 my.ini 拷贝覆盖。
  5. Linux 环境可把 mysql.server 放到 /etc/rc.d/init.d/ 并 chkconfig mysql.server on

四、非法关机导致无法启动

用一份确认正常的 ibdata1ib_logfile0mysql.pid 及数据表文件覆盖损坏文件,再启动。

五、最后的办法:重装

1. 卸载 MySQL,清理安装目录和 Windows 目录下的 my.ini
2. 任务管理器结束 mysqld.exe 进程
3. cmd 执行:sc delete mysql   # 清理注册服务
4. 重新安装并配置
标签
mysqlmysql错误