MAC OSX brew 升级 mysql5.6到5.7无法启动的问题

brewmysql 从5.6.22升级到了5.7, 启动mysql服务以后发现登录不进去, 原来的密码失效, 应该是两个版本的 mysql.user表结构的差异造成的, 为了保留之前的数据, 所以卸载了5.7.x. 卸载以让命令后重新指向5.6.22, 用mysql.server命令启动mysql, 这个时候报错了,启动不了:

. ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxx.local.pid). 此处的 xxx是我电脑的名字,下同

这个时候先不要去搜索引擎搜索以上的错误提示,不然会找到很多不同的无效的解决方案,要定位问题还是先查看日志,避免做无用功. 我刚开始就是这么做的,浪费了不少时间.

查看日志/usr/local/var/mysql/xxx.local.err, 发现以下问题:

2016-08-03 18:18:59 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-08-03 18:18:59 81707 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2016-08-03 18:18:59 81707 [Note] Plugin 'FEDERATED' is disabled.
2016-08-03 18:18:59 81707 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-08-03 18:18:59 81707 [Note] InnoDB: The InnoDB memory heap is disabled
2016-08-03 18:18:59 81707 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-08-03 18:18:59 81707 [Note] InnoDB: Memory barrier is not used
2016-08-03 18:18:59 81707 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-08-03 18:18:59 81707 [Note] InnoDB: Using CPU crc32 instructions
2016-08-03 18:18:59 81707 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-08-03 18:18:59 81707 [Note] InnoDB: Completed initialization of buffer pool
2016-08-03 18:18:59 81707 [Note] InnoDB: Highest supported file format is Barracuda.
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: http://dev.mysql.com/doc/refman/5.6/en/error-creating-innodb.html
2016-08-03 18:18:59 81707 [ERROR] Plugin 'InnoDB' init function returned error.
2016-08-03 18:18:59 81707 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-08-03 18:18:59 81707 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-08-03 18:18:59 81707 [ERROR] Aborting

重点在:

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

通过这个关键点 google 了一下, 找到解决方法: 删除ib_logfile0ib_logfile1这两个文件,不过最好是重命名这两个文件,就算此方案无效, 还有补救的机会. 接着再启动mysql服务器, ok 了.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

Linux基础(day55)

13.4 mysql用户管理 mysql用户管理目录概要 grant all on . to 'user1' identified by 'passwd'; g...

222100
来自专栏Ken的杂谈

CentOS 7下InfluxDB部署与使用入门

InfluxDB里存储的数据被称为时间序列数据,InfluxDB存储方式跟传统关系型数据库不同的是:传统关系型数据库通过数据库+表+字段组织数据,InfluxD...

92540
来自专栏Aloys的开发之路

Oracle系统表整理+常用SQL语句收集

-- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图 -- DBA_TABLES意为DBA拥有的或可以访问的所有...

276100
来自专栏乐沙弥的世界

ORA-00942: table or view does not exist

      在过程,包,函数,触发器中调用Oracle相关动态性能视图时,需要授予适当的权限,否则会收到表和视图不存在的错误提示。即使你可以单独查询这些视图。因...

19220
来自专栏james大数据架构

android之数据存储之SQLite

          SQLite开源轻量级数据库,支持92-SQL标准,主要用于嵌入式系统,只占几百K系统资源此外,SQLite 不支持一些标准的 SQL 功能...

21490
来自专栏跟着阿笨一起玩NET

SqlServer表死锁的解决方法

前些天写一个存储过程,存储过程中使用了事务,后来我把一些代码注释掉来进行调试找错,突然发现一张表被锁住了,原来是创建事务的代码忘记注释掉。本文表锁住了的解决方法...

49410
来自专栏杨建荣的学习笔记

MySQL中如何得到权限信息

最近在做一次MySQL数据迁移的时候,突然发现自己遗漏了一个地方,那就是权限信息没有导出,如果我们使用mysqldump --all-databases...

31950
来自专栏敏捷开发&项目管理

Database first with EntityFramework (Migration)安装和升级

最近看了国外几个项目,发现用EntityFramework做Code First的项目现在很流行。 最让我有兴趣的一个功能则是,EntityFramework对...

36380
来自专栏乐沙弥的世界

MySQL 用户与权限管理

    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的相关DML,DQL权限。MySQL存取控制包含2个阶段,一是服务器...

33210
来自专栏菩提树下的杨过

mysql 学习笔记

以前主要使用oracle做数据库,现在换成mysql了,发现不一样的地方还是挺多的,记录一下: 一、centos上的yum install方式安装  完全卸...

22270

扫码关注云+社区

领取腾讯云代金券