标签:需要 了解 并且 class erro 调试器 默认 centos 6 run
在老笔记本上安装了CentOS 6.8后使用默认的源安装MySQL后发现版本是5.1.*,版本太老卸载之然后在MySQL官网下载了社区版的npm添加安装,然后启动的时候提示Fail,并且使用 mysql -uroot连接时出现mysql.sock文件问题。
在网上搜寻了各种方案来尝试解决都没有成功,有说添加权限的,有说删除ib*文件的,都不行,本来要放弃的了,晚上回寝室后看到室友在学Android有个Bug一直调试不过,我看了后让他打开调试器并运行,发现了一个报错,定位了问题,然后惊讶于他不用调试器找问题,在那个瞬间我突然发现自己为什么之前一直不能解决那个问题了。在MySQL报错后我一直只是在网上搜索错误信息,看别人的解决办法,却没有先看日志到底错在哪里,导致一直没有抓住真正的问题发生在哪里。
于是我赶紧打开电脑,登录SSH,重新运行一次并打开日志信息,发现日志里唯一的一个地方的[ERROR]信息
[ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade. [ERROR] Aborting
就是这个导致了一直无法运行,原来是之前安装过的5.1卸载后没有清空数据目录,导致冲突无法启动,于是赶紧清空数据目录,重启,成功。
通过这件事情让我明白了一些道理:
1、发现错误首先需要的是查看日志定位错误,了解清楚具体是哪里发生了错误,才能快速准确的找到解决方案,就像一个人肚子疼,他去看病只给医生说自己疼,却不说清楚哪里疼一样,这是无法准确的解决问题的;
2、养成良好的处理错误并记录日志的习惯,编程开发中总会有各种意想不到的情况发生,如果不做容错处理和日志记录,在发生了问题后就没法定位问题,还得花费大量的时间来定位问题。
CentOS6.8下通过npm升级安装MySQL出现迷之错误解决过程
标签:需要 了解 并且 class erro 调试器 默认 centos 6 run
原文地址:http://www.cnblogs.com/GreatHumorist/p/6973935.html