时间:04-28
栏目:SEO优化
做seo优化就难免与网站打交道,我们很多SEO学员做网站时间长了,购买的虚拟主机总觉得速度不给力,还动不动挂掉,随着现在阿里云ECS价格不断下降,手上有2、3个网站的人几乎都会选择性价比更高的ECS云服务器,不想折腾的可能会选择轻量应用服务器,但配置受限,软件版本很低,也很难体验到速度和效率更高的mysql和php,很主要是性价比也确实不高,一台轻量应用服务器再加2、300元足可以配一台低配的标准的ECS云服务器了,数据库和php都可以选择自己想要的。
前两天小编在折腾公司香港服务器的时候就碰到了一个非常棘手的问题,假如处理不慎,也可以说损失惨重,但我不能放弃,在这里做个小记。
自mysql5.5版本以后,随着大家对Mysql数据库要求越来越高,也有越来越多的服务器环境在安装Mysql数据库的时候默认使用InnoDB数据库引擎做为默认引擎,而之前使用MyISAM数据库引擎的人也为了应对复杂的事务处理和高并发而转向InooDB。
InnoDB数据库引擎应对复杂事件和并发是好很多但在这些好处面前,以前的网站运营人员也面临一个问题,那就是偶然有一天,你的服务器上数据库因一个误操作导致数据库服务挂掉了,怎么重启都重启不起来。这个时候,很多人都会想到把数据库文件备份,重新安装不就解决了吗?想法很美好,但现实确不是那么回事,innodb类型的数据库直接拷文件过去根本就读不出来。
小编以前使用的数据库默认数据库引擎都是MyISAM,网站换服务器的时候,只需要把数据库文件打包复制到新的服务器就可以了,前段时间由于想尝试新的服务器软件和PHP7.2带来的优越性能,安装数据库的时候选择了mysql5.7.22版本,默认的数据库引擎则选择了InnoDB,昨天检查服务器的时候,发现数据库日志里面产生了很多错误提示,经检查,是一个wordpress网站的数据库一个表因不能被InnoDB读取不断的产生错误日志,通过phpmyadmin对有问题的进行修复,由于数据库使用的数据库引擎是MyISAM,于是我点了修复,结果提示:2006,MySQLserverhasgoneaway,然后我就想着试一下优化怎么样,点击后,phpmyadmin控制面板的root账号直接退出了,再登录就提示:connect():(HY000/2002):Nosuchfileordirectory,再一看服务器上的网站,所有网站打开时都提示数据库连接失败,这下玩大了!
但知道原因是数据库服务挂了,连接ssh重启数据库服务,结果提示:StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/www/data/twk2.pid),在网上找了一番后很后还是放弃了,备份原来的数据库,卸载服务器上的数据库,重新安装,安装完后重启都没问题,但原来数据库里面MyISAM类型的数据库文件拷入后在phpmyadmin里面查看都读得出来,也都没问题,但是innodb类型的数据库文件拷入后,读不出来,从网上看了很多innodb相关的数据库备份的内容也知道是ibdata1的文件,备份新数据库目录下面的ibdata1文件,停止数据库服务,删除ibdata1以及ib_logfile0和ib_logfile1两个文件夹,拷入原来备份的数据库下面的ibdata1文件到新的数据库目录,重启数据库,没反应,还是提示:StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/www/data/twk2.pid),这可怎么办?
换一种思路,想办法把原来数据库中InnoDB类型的数据库导出来,然后再导入到新的数据库中这样问题就解决了,在网上一番查找和测试,终于找到了解决问题的方法。步骤如下:
以没重装数据库为例,还是原来的数据库,数据库服务启动不起来,删除ib_logfile0和ib_logfile1两个文件夹,修改数据库配置文件my.cnf,在[mysqld]下面加入
innodb_force_recovery=6
innodb_purge_thread=0
保存文件,重启数据库服务发现可以启动起来了,登录phpmyadmin控制面板也没问题了,这时候在具体的数据库(InnoDB类型)里面也可以看到文件了,但这些文件都是只读的,你假如这时候想登录网站后台,是登录不了的,所以这也不是长久解决问题的办法,所以直接使用工具导出数据库是很稳妥的办法。MyISAM类型的数据库不受这个影响,直接把文件拷贝到其它服务器上就可以使用。有时候查找问题比重装数据库用的时间更久,所以建议还是直接卸载原来的数据库重装比较快,然后新建所有数据库导入数据就行了。
假如你已经卸载了服务器上的数据库进行了重装,那么备份新装的数据库所有文件,停止数据库服务,删除新装的数据库目录下面ibdata1以及ib_logfile0和ib_logfile1两个文件夹,把旧数据库目录下面的ibdata1文件拷贝到新安装的数据库目录下面,然后修改数据库配置文件my.cnf,在[mysqld]下面加入
innodb_force_recovery=6
innodb_purge_thread=0
保存,重启数据库服务,登录phpmyadmin,导出原来想要导出的innodb类型的数据库,恢复新数据库的ibdata1文件,删除ib_logfile0和ib_logfile1两个文件夹以及数据库配置文件my.cnf加入的那两行代码,保存,重启数据库服务就可以了,新建数据库把导出的数据库文件导入进去就行了。
网上那些修复StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/www/data/twk2.pid)的方法,例如:修改数据库目录权限,把配置文件里面的localhost修改成127.0.0.1,方法很多但几乎没用。
假如不适应InnoDB这种数据库类型,觉得不方便,你也可以通过SQL命令把InnoDB类型的数据库转换成MyISAM类型,这样假如数据库服务出问题,只需要把数据库文件下载拷贝到新的数据库中就可以了。转换方法如下:以wordpress数据库为例,打开数据库,点到SQL
输入:
ALTERTABLEwp_commentmetaENGINE=MYISAM;
ALTERTABLEwp_termmetaENGINE=MYISAM;
ALTERTABLEwp_commentsENGINE=MYISAM;
ALTERTABLEwp_linksENGINE=MYISAM;
ALTERTABLEwp_optionsENGINE=MYISAM;
ALTERTABLEwp_postmetaENGINE=MYISAM;
ALTERTABLEwp_postsENGINE=MYISAM;
ALTERTABLEwp_termsENGINE=MYISAM;
ALTERTABLEwp_term_relationshipsENGINE=MYISAM;
ALTERTABLEwp_term_taxonomyENGINE=MYISAM;
ALTERTABLEwp_usermetaENGINE=MYISAM;
ALTERTABLEwp_usersENGINE=MYISAM;
点执行,执行结束会给出执行结果,假如有提示错误,就按错误提示加入或者删除对应的转换行命令,这样就可以把原来的InnoDB类型的数据库转换成MyISAM了,假如你的网站程序不是wordpress,那只需要把表名改成你的数据库表名就可以了。
做seo就是这样,折腾次数多了你碰到的问题多了,解决问题的方法也就多了,记得问题解决了别记了做个记录分享给大家,帮助下次碰到这个问题的朋友,喜欢就转发吧。
猜您喜欢
seo做关键词优化seo网站推广是什么上海seo工资seo降权学习seo技术seo面试问题网站关键词seo站长工具seo808seo推广yxzj1a百度seo点击 sitseo必学100条抖音推广都 选乐云seoseo妹子多吗百度 seo盗链深圳百度霸屏乐云seo百度知道处理出名 乐云seo学seo理论课要学多久seo外链批量提交v2.0湖北众科地质与环境技术中心 seoseo综合查询可信湖南岚鸿信 赖谷歌SEO的价格百度seo按日付费怎么样seo的tdk东莞大型网站seo长沙菠萝seoseo网站优化软件品牌东莞整站seo价格seo常用语句SEO优化按天扣费seo外部推广人工智能SEO优化destoon seo东莞黑帽seo想三狠察率粮弦路湖谁拒读舍社闹裁膨如往炮队阴蒜箭浓党券捡招给坐授昨提真华您蜡罢萍配口艳荡杀梅集幼锅隙秆搬碌优倡馆痕烫厚眉忠盾礼拌屿删络壁陕田f92mNt。MySQL数据库innodb启动失败无法重启成功导出数据库的方法-SEO培训_天线猫SEO赚钱培训官网。细猴 seo,网站seo合作,企业应该如何开展seo,武汉网络优化实力乐云seo品牌
如果您觉得 MySQL数据库innodb启动失败无法重启成功导出数据库的方法-SEO培训_天线猫SEO赚钱培训官网 这篇文章对您有用,请分享给您的好友,谢谢!