在windows平台下MySql启动时的1067错误的解决方法及反思

我认为导致这个问题的原因可能不止一种,所以搜集了网上一些朋友对此问题的解决供大家参考,希望能你有所帮助。

一、

1、打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM。

2、删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1

3。找到在配置MySQL服务器时指定的InfoDB目录删除掉ibdata1

根据my.ini文件中:

#*** INNODB Specific options ***

innodb_data_home_dir="D:/"。

4。重新启动MySQL的Service

根据我自己的实践,只要进行第三步就能解决问题。

二、

err文件内容:

090417  9:02:55  InnoDB:
Error: unable to create temporary file; errno: 2

090417  9:02:55 [ERROR] Plugin ‘InnoDB‘ init function returned error.

090417  9:02:55 [ERROR] Plugin ‘InnoDB‘ registration as a STORAGE ENGINE failed.

090417  9:02:55 [ERROR] Unknown/unsupported table type: INNODB

090417  9:02:55 [ERROR] Aborting

090417  9:02:55
[Warning] Forcing shutdown of 1 plugins

090417  9:02:55 [Note] MySQL: Shutdown complete

经过一翻Google,找出了无法启动的原因:MySQL在安装的时候不会自动初始tmpdir(临时文件目录),所以要在配置文件my.ini中添加如下内容:

[mysqld]

#自己指定的临时文件目录

tmpdir="D:/MySQL/MySQL
Server 5.1/Temp"

再次启动MySQL一切正常,在Temp文件夹下生成了一些*.tmp的临时文件。

最后还是存在一些疑问:如果是由于没有初始化tmpdir,为什么在我第一次安装的时候也没有初始化,但也没有出现这样的问题?

三、

以前手动安装MySQL5.0.16的windows service时很顺利,昨晚为5.0.83安装service时,总是提示1067的错误。网上有人说把my.ini放到C:\WINDOWS下就可以了,但我遇到的情况是问题仍然没有解决。我的解决办法是将参数中的--defaults-file用--defaults-extra-file取代,如下:

mysqld --install MySQL --defaults-file=E:/mysql-5.0.83-win32/my.ini

改为

mysqld --install MySQL --defaults-extra-file=E:/mysql-5.0.83-win32/my.ini

执行mysqld --verbose --help能看到mysqld的用法,其中就有这两个参数的说明。

根据我自己的实践,引起这个问题最大的可能性是数据表存储引擎(Engine,简而言之,存储引擎就是指表的类型,即Table
Type

)引起的。MySQL数据库支持的数据表存储引擎有多种,可以用命令:show engines进行查看,在MySQL的配置文件my.ini中可以也看到(默认的是MyISAM):

# The default storage engine that will be used when create new tables when

default-storage-engine=MyISAM。

常用的存储引擎还有InnoDB,InnoDB有多种优点,InnoDB给MySQL的表提供了事务、回滚、崩溃修复能力、多版本并发控制的事务安全.同时,InnoDB也是MySQL上第一个提供外键约束的引擎,而且InnoDB存储引擎对事务处理的能力也是MySQL其他存储引擎所无法与之比拟的。

    InnoDB与MyISAM的区别:

以InnoDB存储引擎存储的表,存储表结构的.frm与存储的表数据文件(ibdata1)是分开存放的,存储表数据的文件位置可以通过修改my.ini文件自行设置:

#*** INNODB Specific options ***

innodb_data_home_dir="D:/"

以MyISAM存储引擎存储的表,一共包括3个文件:.frm(存储表的结构)文件,.MYD(MYouData的缩写,存储表的数据)文件,.MYI(MYIndex的缩写,存储表的索引),这个三个文件同时存放在MySQL数据库安装时存放数据的目录下,如F:\ProgramData\MySQL\MySQL
Server 5.1\data\Databasename中。

另外,通过对这次问题的解决,我认识到了查看错误日志的重要性,当遇到问题的时候,我们首先想到的应该是去查看错误日志,而不是不加思索去Google或者去baidu,其实从错误日志中我们能得到真正造成问题的原因,对症下药,才能药到病除。MySQL的错误日志(.err)位于F:\ProgramData\MySQL\MySQL
Server 5.1\data目录下,文件名一般为你的计算机名。

时间: 2024-08-03 16:06:05

在windows平台下MySql启动时的1067错误的解决方法及反思的相关文章

执行游戏时出现0xc000007b错误的解决方法

如图,这个错误使无数玩家烦恼. 出现这个错误,可能是硬件的问题,也可能是软件的问题.可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问题,这也是大家最关心的. 大致介绍一下这个错误是怎样发生的.这个错误的本意是提示内存错误,可是通常情况下并非内存存在问题,而是因为软件的问题产生了这个错误.到底是什么软件的问题呢?答案是DirectX,而且多数情况下是DirectX 9.0的问题. 或许大家会问了:我玩的游戏都有DirextX 11

编译安装或者mysql启动时遇到的错误小记

编译安装遇到的错误:进入mysql目录 [[email protected] software]# cd mysql-5.6.19 [[email protected] mysql-5.5.11]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mydb -DMYSQL_UNIX_ADDR=/home/mydb/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -

VMWare 10 Ubuntu 虚拟机启动时提示“内部错误”的解决办法

使用VMware新建虚拟机,启动时出现“内部错误”提示,放百度搜一下,是由权限问题造成:权限的问题,在桌面上右键单击VMWare的图标,选择“以管理员身份运行”. 在VMWare中,再次点击“启动客户机”,则可以正常...使用VMware新建虚拟机,启动时出现“内部错误”提示,放百度搜一下,是由权限问题造成:权限的问题,在桌面上右键单击VMWare的图标,选择“以管理员身份运行”. 在VMWare中,再次点击“启动客户机”,则可以正常... v.17173.com/playlist_187307

20150509Windows下MySQL启动时错误代码1067解决

在cmd下使用net start mysql56(我的mysql服务名),一.提示1067错误 上网搜集了很多资料,都是修改My.ini配置 (1)将存储引擎从INNODB改为MYISAM: (2)在my.ini下追加: [WindowsMySQLServer] Server="D:/Program Files/MySQL/MySQL Server 5.6/bin/mysqld.exe"(我的mysql可执行文件路径) 都未曾解决,直到如下解决方案被使用: 进入mysql的data目录

Xshell启动时显示丢失MSVCP110.dll解决方法

成功安装xshell之后,在运行时却弹出“无法启动此程序,因为计算机中丢失MSVCP110.dll.尝试重新安装该程序以解决此问题”,很多人按照提示重装了还是出现同样的问题,本集教程将具体讲解如何处理这样的问题.    出现原因:解决方法:1.下载工具    在百度中搜索dll修复工具,然后点击“打开工具”  2.输入文件名    下载好之后,会出现:免费下载Dll文件,修复程序出错等问题,然后输入xshell弹出的对话框中的dll文件:MSVCP110.dll,点击Enter键  3.选择对应

创建Web项目运行时出小错误及解决方法

1.目录结构 2.各文件内容 index.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> <form action="/Servlet" method="

linux下mysql提示&quot;mysql deamon failed to start&quot;错误的解决方法

操作系统为centos,网站突然连接不上数据库,于是朋友直接重启了一下服务器.进到cli模式下,执行 service myqsld start 发现还是提示"mysql deamon failed to start"错误信息. # /etc/init.d/mysqld start MySQL Daemon failed to start. Starting mysqld: [FAILED] 查看mysqld的log文件 #less /var/log/mysqld.log 141201

安装mysql的时候提示1045错误的解决方法

在安装mysql的时候提示1045错误,如图所示: 这种情况一般是之前卸载msyql的时候没有清理完一些文件之类的,导致给你提示存在安全问题,因此,只需要找到mysql一些系统的配置文件,并且将他们删除即可.

Windows平台下的session0创建进程的问题与解决办法

很多博客都有记载如何在session0下创建进程的办法,也就是使用CreateProcessAsUser.但是这个要求服务的进程有SE_INCREASE_QUOTA_NAME和SE_ASSIGNPRIMARYTOKEN_NAME权限.如果设置的登录用户是LocalServer的话,是默认有以上两个权限.但是如果是自己创建的账户,那么是不具有SE_ASSIGNPRIMARYTOKEN_NAME的权限. 查看用户的权限可以通过gpedit.msc工具中,在"计算机配置"-- "W