位置: 编程技术 - 正文

mysql Non-Transactional Database Only(只支持MyISAM)

编辑:rootadmin

推荐整理分享mysql Non-Transactional Database Only(只支持MyISAM),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

后来在做WordPress,一开始还不知道原来WordPress用的是InnoDB数据引擎,于是在原来的数据库里面就建了一个数据库,一开始也没发觉问题,安装,导入sql,都没问题,当时也没多想。直到这几天因为又要装多一个WordPress,用phpmyadmin访问数据库多一点,问题来了。老是一访问WordPress的数据库,就弹出错误提示“Mysqld-nt.exe应用程序错误:“0xc4”指令引用的“0x”内存,该内存不能为读...”,然后就MySQL服务也停了,登陆不了,整个数据库都访问不了。

图1 设置数据库类型

纠结了挺久,也忘了是看到什么文章触发了灵感,反正后来才知道原来是数据引擎不同惹的祸。于是就想到重新运行次设置向导,把数据库类型改成支持InnoDB引擎的。马上行动,在向导里设置数据库类型(也就是图1的database usage)那里,设置成第二项,还在后面的InnoDB Tablespace Settings里把InnoDB数据文件设置放在D:MySQL InnoDB Datafiles目录里。但是在最后execute执行的时候,却老是在Start Service那里出问题,如下图2。

图2 Start service出错

想直接到services.msc里面启动服务,也不行。错误提示内容为:“在 本地计算机 无法启动mysql服务 错误:进程意外中止。”

按照网上的某些做法,卸载了MySQL服务,也没重启就重新设置,问题如故;把服务卸载了,重启后再重新设置,则是启动服务成功,但是在后面的Applying Security Settings的时候有新的问题,如下图3。图2那里的错误提示则变成“ERROR : Can't connect to MySQL server on 'localhost' ()", 说明MySQL还是没有启动,或者启动过,出错又关了。

图3

顺便提一下,在MySQL5里(其他版本的我不知道)每运行一次设置向导,只要按了execute执行,都会在MySQL5的安装目录下自动生成一个原来的MySQL的设置文件my.ini的备份bak文件。并且将以修改的时间命名。因此如果设置出了问题,可以从备份文件恢复。

后来还是在错误日志里找到思路。错误日志就是放在 MySQL5安装目录Data 目录里的那个以你的计算机名命名的.err文件。

首先我找到以下一段:

InnoDB: Error: log file .ib_logfile0 is of different size 0 bytes

InnoDB: than specified in the .cnf file 0 bytes!

9:: [ERROR] Default storage engine (InnoDB) is not available

9:: [ERROR] Aborting

9:: [Note] D:MySQL5binmysqld-nt: Shutdown complete

于是就到“MySQL5安装目录Data ”目录里把ib_logfile0日志文件删掉,重启MySQL服务,还是提示错误。再去查看err文件。

:: InnoDB: Log file .ib_logfile0 did not exist: new to be created

InnoDB: Setting log file .ib_logfile0 size to MB

InnoDB: Database physically writes the file full: wait...

InnoDB: Progress in MB:

InnoDB: Error: log file .ib_logfile1 is of different size 0 bytes

InnoDB: than specified in the .cnf file 0 bytes!

:: [ERROR] Default storage engine (InnoDB) is not available

:: [ERROR] Aborting

:: [Note] D:MySQL5binmysqld-nt: Shutdown complete

可以看到,ib_logfile0的问题解决了,但是同样的问题却出在ib_logfile1上面了。于是依样画葫芦,把ib_logfile1删了,再重启MySQL服务,却发现没用。难道是还要重启系统。果真,把前面两个ib_logfile删了,重启系统就搞定了。前面的可能是因为刚开机,所以也行。实际上是需要重启系统的。这时的日志如下

:: InnoDB: Log file .ib_logfile0 did not exist: new to be created

InnoDB: Setting log file .ib_logfile0 size to MB

InnoDB: Database physically writes the file full: wait...

InnoDB: Progress in MB:

:: InnoDB: Log file .ib_logfile1 did not exist: new to be created

InnoDB: Setting log file .ib_logfile1 size to MB

InnoDB: Database physically writes the file full: wait...

InnoDB: Progress in MB:

mysql Non-Transactional Database Only(只支持MyISAM)

InnoDB: Cannot initialize created log files because

InnoDB: data files are corrupt, or new data files were

InnoDB: created when the database was started previous

InnoDB: time but the database was not shut down

InnoDB: normally after that.

:: [ERROR] Default storage engine (InnoDB) is not available

:: [ERROR] Aborting

:: [Note] D:MySQL5binmysqld-nt: Shutdown complete

好了,现在只剩下最后一个问题了Default storage engine (InnoDB) is not available。去services.msc里面启动MySQL服务,还是出错。但是日志却是显示

InnoDB: No valid checkpoint found.

InnoDB: If this error appears when you are creating an InnoDB database,

InnoDB: the problem may be that during an earlier attempt you managed

InnoDB: to create the InnoDB data files, but log file creation failed.

InnoDB: If that is the case, please refer to

InnoDB: :: [ERROR] Default storage engine (InnoDB) is not available

:: [ERROR] Aborting

:: [Note] D:MySQL5binmysqld-nt: Shutdown complete

于是去网上搜索了一下,发现提示No valid checkpoint found.的解决办法:删除所有现有的ibdataN和ib_logfileN文件后,重启Mysql。于是照做,果然行了。

InnoDB: The first specified data file D:MySQL InnoDB Datafilesibdata1 did not exist:

InnoDB: a new database to be created!

:: InnoDB: Setting file D:MySQL InnoDB Datafilesibdata1 size to MB

InnoDB: Database physically writes the file full: wait...

:: InnoDB: Log file .ib_logfile0 did not exist: new to be created

InnoDB: Setting log file .ib_logfile0 size to MB

InnoDB: Database physically writes the file full: wait...

InnoDB: Progress in MB:

:: InnoDB: Log file .ib_logfile1 did not exist: new to be created

InnoDB: Setting log file .ib_logfile1 size to MB

InnoDB: Database physically writes the file full: wait...

InnoDB: Progress in MB:

InnoDB: Doublewrite buffer not found: creating new

InnoDB: Doublewrite buffer created

InnoDB: Creating foreign key constraint system tables

InnoDB: Foreign key constraint system tables created

:: InnoDB: Started; log sequence number 0 0

:: [Note] D:MySQL5binmysqld-nt: ready for connections.

Version: '5.0.-nt' socket: '' port: MySQL Community Edition (GPL)

奋斗了一天,总算成功地把MySQL从MyISAM转换成InnoDB引擎了。也学会了读懂错误日志文件err文件了。不过我就在想了,如果从一开始就按照上面的做,不知道会怎么样呢?转自 DarkBlue blog

MySQL命令行中给表添加一个字段(字段名、是否为空、默认值) 先看一下最简单的例子,在test中,添加一个字段,字段名为birth,类型为date类型。mysqlaltertabletestaddcolumnbirthdate;QueryOK,0rowsaffected(0.sec)Records:0Duplicates:0Wa

MySQL查询空字段或非空字段(is null和not null) 现在我们先来把test表中的一条记录的birth字段设置为空。mysqlupdatetestsett_birth=nullwheret_id=1;QueryOK,1rowaffected(0.sec)Rowsmatched:1Changed:1Warnings:0OK,执行成功!

MySQL查看与修改当前数据库编码的方法 MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码。查看当前数据库编码的SQL语

标签: mysql Non-Transactional Database Only(只支持MyISAM)

本文链接地址:https://www.jiuchutong.com/biancheng/321281.html 转载请保留说明!

上一篇:mysql 5.5.x zip直接解压版安装方法

下一篇:MySQL命令行中给表添加一个字段(字段名、是否为空、默认值)(mysql命令行怎么用)

  • 房地产开发公司组织架构
  • 不同月份的发票能抵扣吗
  • 个税申报专项扣除怎么填
  • 去年科目记错如何调账
  • 红字发票怎么回事
  • 外购软件用于销售的会计分录
  • 农产品进项抵扣政策
  • 临时税务登记可以开发票吗
  • 企业股权转让影响利润吗
  • 预收款未开票账务处理
  • 融资租赁营改增时间
  • 装修预付款怎么做分录
  • 事业单位职工福利费范围有哪些
  • 工会经费计税依据是应发工资还是实发工资
  • 离职补偿金需要交工会经费吗
  • 啤酒消费税的计税基础
  • 公司购买地下停车位如何入账
  • 辅助生产费用的归集
  • 金三接口调用失败怎么办?
  • 一般纳税人进项税额转出会计分录
  • 利率怎么算的计算方
  • 腾讯手游助手如何隐藏键位
  • 系统属性的表现
  • 关闭系统自动调屏幕亮度
  • scsiaccess.exe - scsiaccess是什么进程 有什么用
  • 固定资产成本中的相关税费
  • 国有资产无偿使用违反什么规定
  • 废料收入的成本怎么核算
  • 关于灵活就业人员待遇享受政策
  • 资产负债表应交税费计算公式
  • echarts遇到的坑
  • php弹出登录框
  • 会计实务中的计提是什么意思
  • 应收账款减值损失计入
  • 安全文明措施费比例
  • 公司未成立前的花费算出资额吗
  • 企业的固定资产因自然灾害产生的净损失计入
  • 扣伙食费会计分录
  • sqlserver2005创建表
  • sql随机抽取
  • 金税盘服务费如何抵扣
  • 普惠性幼儿园是什么意思
  • 公司充话费
  • 住宿发票抵税
  • 帮别人维修东西怎么开票
  • 一次性伤残就业补助金怎么领取
  • 赔偿金是营业外收入吗
  • 职工教育经费如何列支
  • 工会经费能零申报保存不起
  • 重新计量设定受益计划变动额计入
  • win7 mysql5.7.21安装
  • 获取sqlsession
  • sqlserver数据库最快存储时间
  • Excel导入Sqlserver数据库脚本
  • win7系统激活不成功怎么办
  • window10电话
  • win10系统中怎么打开IE浏览器
  • win10raw预览
  • go进程管理
  • linux指令系统
  • sentstrt.exe - sentstrt进程是什么文件 有什么用
  • excel表格用windows7打不开
  • win10 ie桌面图标
  • cocos creator js ts
  • 如何用法向量求点到线的距离
  • js匿名函数作用域
  • Android游戏开发读后感
  • opengl api version
  • 怎么申请返回
  • awk 查找
  • arp欺骗防范方法
  • python 执行远程代码
  • 用shell写一个脚本,对文本中无序的一列数字排序
  • jquery数据绑定
  • 测验2:python基本图形绘制
  • 上海附加税税率2023
  • 国家税务总局山东省电子税务局
  • 衡水地税局税务电话
  • 重庆国税税务局官网
  • 鸿蒙2.0哪个版本续航好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设