2016-10-05 回答

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

一、1、打开my.ini文件,找到default-storage-engine=innodb这一行,把它改成default-storage-engine=myisam。2、删除在mysql安装目录下的data目录中的ib_logfile0和ib_logfile13。找到在配置mysql服务器时指定的infodb目录删除掉ibdata1根据my.ini文件中:#innodbspecificoptionsinnodb_data_home_dir="d:/"。4。重新启动mysql的service根据我自己的实践,只要进行第三步就能解决问题。

二、err文件内容:0904179:02:55innodb:error:unabletocreatetemporaryfile;errno:20904179:02:55[error]plugin'innodb'initfunctionreturnederror.0904179:02:55[error]plugin'innodb'registrationasastorageenginefailed.0904179:02:55[error]unknown/unsupportedtabletype:innodb0904179:02:55[error]aborting0904179:02:55[warning]forcingshutdownof1plugins0904179:02:55[note]mysql:shutdowncomplete经过一翻google,找出了无法启动的原因:mysql在安装的时候不会自动初始tmpdir(临时文件目录),所以要在配置文件my.ini中添加如下内容:[mysqld]#自己指定的临时文件目录tmpdir="d:/mysql/mysqlserver5.1/temp"再次启动mysql一切正常,在temp文件夹下生成了一些*.tmp的临时文件。最后还是存在一些疑问:如果是由于没有初始化tmpdir,为什么在我第一次安装的时候也没有初始化,但也没有出现这样的问题?

三、以前手动安装mysql5.0.16的windowsservice时很顺利,昨晚为5.0.83安装service时,总是提示1067的错误。

网上有人说把my.ini放到c:windows下就可以了,但我遇到的情况是问题仍然没有解决。我的解决法是将参数中的--defaults-file用--defaults-extra-file取代,如下:mysqld--installmysql--defaults-file=e:/mysql-5.0.83-win32/my.ini改为mysqld--installmysql--defaults-extra-file=e:/mysql-5.0.83-win32/my.ini执行mysqld--verbose--help能看到mysqld的用法,其中就有这两个参数的说明。根据我自己的实践,引起这个问题最大的可能性是数据表存储引擎(engine,简而言之,存储引擎就是指表的类型,即tabletype)引起的。mysql数据库支持的数据表存储引擎有多种,可以用命令:showengines进行查看,在mysql的配置文件my.ini中可以也看到(默认的是myisam):#thedefaultstorageenginethatwillbeusedwhencreatenewtableswhendefault-storage-engine=myisam。

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

innodb与myisam的区别:

以innodb存储引擎存储的表,存储表结构的.frm与存储的表数据文件(ibdata1)是分开存放的,存储表数据的文件位置可以通过修改my.ini文件自行设置:#***innodbspecificoptions***innodb_data_home_dir="d:/"以myisam存储引擎存储的表,一共包括3个文件:.frm(存储表的结构)文件,.myd(myoudata的缩写,存储表的数据)文件,.myi(myindex的缩写,存储表的索引),这个三个文件同时存放在mysql数据库安装时存放数据的目录下,如f:programdatamysqlmysqlserver5.1datadatabasename中。