mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法

发现问题

最近在工作中遇到一个问题,在运行了一个innoDB类型的sql文件,报了Error: Unknown storage engine 'InnoDB'错误,网上查了很多方法,但是都没办法真正解决我的问题,后来解决了,在这里总结一下过程,方便有遇到类似情况的朋友们可以有的参照,下面话不多说,来一起看看详细的介绍吧。

解决过程:

我用的是MySql5.5版本的数据库。出现以上错误的时候先用命令-》show engines;查看一下引擎详情:

执行sql文件MySQL server has gone away 执行sql文件报错_数据库

发现并没有innodb这个条目:

然后我们查看日志文件:

不知道windowns日志文件位置的可以用命令->show variables like '%error%';查看

执行sql文件MySQL server has gone away 执行sql文件报错_mysql执行大文件sql报错_02

然后:在日志中我们发现:

执行sql文件MySQL server has gone away 执行sql文件报错_数据库_03

错误在于ibdata1文件内容有误。

接下来,我们关闭数据服务,删除安装目录下的ibadata1文件,和错误日志同目录下的两个文件:看下图

执行sql文件MySQL server has gone away 执行sql文件报错_mysql执行大文件sql报错_04

删除成功后,更改my.ini文件参数。

innodb_buffer_pool_size = 256M

innodb_log_file_size = 256M

innodb_thread_concurrency = 16

innodb_flush_log_at_trx_commit = 2

innodb_flush_method = normal

其中innodb_flush_method = normal是最后补进去的,其他的参数原来配置文件中都有。

更改完成后,保存并从新启动mysql服务。

再次执行-》show engines;

执行sql文件MySQL server has gone away 执行sql文件报错_mysql_05

发现innoDB已经可以使用了,这样就表示成功了。

再次去运行刚才的文件就能完美运行了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

时间: 2017-07-27

晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown column 'password'的错误,看了user的表结构也确实没有该字段了.经查发现是MySQL升级后将字段名给改了,password名称改为authentication_string了.知道原因后,按照如下命令就可以成功重置root密码了. $sudo mysql.server stop #先关闭正常的MySQL服务 $sudo mysqld_safe --

按照网上之前版本的操作,将my.ini中的skip-grant-tables注释去掉,然后在命令行中以mysql -u root -p可以直接进入,但是执行 mysql> update mysql.user set password=password('password') where user='root'; 会出现以下错误 mysql> ERROR 1054 (42S22): Unknown column 'password' in 'field list' 错误原因:mysql数据库下已

执行sql文件MySQL server has gone away 执行sql文件报错_mysql_06

新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user  set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

mysql创建用户并授权: 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"; grant[英][grɑ:nt]   承认; 同意; 准许; 授予; 例1:允许mk用户从localhost登录 mysql> grant all on book.* to mk1@localhost identified by "123456"; #允许访问book数据库下的所有表, 只能访问book表,而且是同一个服务

在安装MySQL时遇到几个问题,网上查找的答案大同小异,并没有很好的解决我的问题,完成之余记录下来方便以后查看. 1.官网下载8.0.16版本MySQL 2.解压缩并将解压的文件放在C:\Program Files\MySQL下 3.配置环境变量,将C:\Program Files\MySQL\bin 添加到系统变量path中 4.添加配置文件,在MySQL根目录下创建my.ini 文件内容如下,修改'basedir='.'datadir='地址 [mysqld] # 设置3306端口 port

执行sql文件MySQL server has gone away 执行sql文件报错_mysql_07

这是官方截图,mysql5.7安装后,会有一个默认密码,保存在mysql.log里面,找的他,并更改 官方文档地址 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 以上所述是小编给大家介绍的mysql 5.7版本修改密码的简单方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

在MySQL 8.0.16版本中安装可能会出现部分错误提示已经不使用"UTF8B3"而是使用了"UTF8B4" #/以下为my.ini中的内容// [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir= #这里记得填 # 设置mysql数据库的数据的存放目录(此目录会在之后进行命令生成,无需手写) datadir= \data #这里记

像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql 开发者列表当中很多年了,然而这似乎又是一种误导. 在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面我把导致这个可怕 的150错误的常见原因列出来了,并且我以可能性的大小作了排序 已知的原因: 1, 两个字

执行sql文件MySQL server has gone away 执行sql文件报错_mysql执行大文件sql报错_08

前言 一直以来,MySQL的应用和学习环境都是MySQL 5.6和之前的版本,也没有去关注新版本MySQL 5.7的变化和新特性.今天帮人处理忘记root密码的时时候,发现以前的方法不奏效了. 具体情况如下所示: 案例环境如下: 操作系统 : Red Hat Enterprise Linux Server release 6.6 (Santiago) 数据库版本: 5.7.18 MySQL Community Server (GPL) 忘记密码,输入错误的密码时遇到下面错误信息: [root@m

MySQL5.7版本之前修改密码的方法: 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password oldpass "new