您的位置:首页 > 数据库 > MySQL

mysql安装问题解决办法

2015-08-16 09:58 656 查看
mysql启动时1067错误解决方法

导致这个问题的原因可能不止一种,所以搜集了网上一些朋友对此问题的解决方法。

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

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

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

4、重新启动MySQL的Service

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

err文件内容:

2015-08-16 09:04:48 1ba4 InnoDB: Error: unable to create temporary file; errno: 2

2015-08-16 09:04:48 6124 [ERROR] Plugin 'InnoDB' init function returned error.

2015-08-16 09:04:48 6124 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2015-08-16 09:04:48 6124 [ERROR] Unknown/unsupported storage engine: INNODB

2015-08-16 09:04:48 6124 [ERROR] Aborting

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

[mysqld]

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

tmpdir="F:/devsoft/MySqlData/temp"

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

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

执行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与MyISAM的区别:

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

#*** INNODB Specific options ***

innodb_data_home_dir="F:/"

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

通过对这次问题的解决,我认识到了查看错误日志的重要性,当遇到问题的时候,我们首先想到的应该是去查看错误日志,而不是不加思索地去baidu,其实从错误日志中我们能得到真正造成问题的原因,对症下药,才能药到病除。MySQL的错误日志(.err)位于F:\devsoft\MySqlData\data目录下,文件名一般为你的计算机名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: