码迷,mamicode.com
首页 > 数据库 > 详细

mysql启动失败

时间:2018-08-24 11:42:30      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:recovery   database   日志功能   form   数据   can   两种   安装   ln -s   

mysql重启报错

错误:

ERROR! MySQL server PID file could not be found! 

Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/run/mysql.pid). 

原因可能有以下几种:

1.mysql没有正常关闭

2.第二次在机器上安装mysql,有残余数据影响服务启动

3.权限问题,可能是/opt/mysql/data/数据目录没有权限

解决方案:

1.没有正常关闭的话,日志里会有写

         [Note]?InnoDB: Database was not shutdown normally! 

         [Note] InnoDB: Starting crash recovery.

         [Note] InnoDB:?Reading tablespace information from the .ibd files... 

    ?[ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace raildb/base_company_fullname uses space ID: 4 at filepath: ./raildb/base_company_fullname.ibd. Cannot open tablespace mysql/slave_master_info which uses space ID: 4 at filepath: ./mysql/slave_master_info.ibd 

   第一行:提示数据库没有正常关闭,第三行,提示正在从.ibd files读取tablespace information

   error的地方,大概意思就是读取不到raildb这个库的tablespace

 解决:vi /etc/my.cof  增加一行      innodb_force_recovery = 1

         然后删除log里边的mysql-bin.index 这个文件

         重启mysql

2.解决:去mysql的数据目录/data看看,如果存在mysql-bin.index,删除掉

3.权限问题不说

可能我的问题比较复杂,首先是机器二次安装mysql,导致重启报错,非正常停止mysql,启动失败。

解决方案:删除/tmp/mysql.sock 文件,重启MySQL

这里介绍一下mysql,sock

Mysql有两种连接方式:

 (1)TCP/IP

  (2)socket

    对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。

    例如你无须定义连接host的具体IP得,只要为空或localhost就可以。

    在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。

    因为你在my.ini中或my.cnf中改变端口后,mysql.sock是随每一次 mysql server启动生成的。已经根

    据你在更改完my.cnf后重启mysql时重新生成了一次,信息已跟着变更。

如果你删除掉mysql.sock文件以后可能会报

  ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2) 

  mysql.sock不存在

mysql.sock是一个临时文件,在mysql启动时会自动生成,我的服务器未启动,自然就没有mysql.sock文件。

在错误日志中,启动失败的原因极为明显,file ‘./mysql-bin。000004’ not found,failed to open!mysql开启了bin日志功能,

到数据库根目录查看该文件是存在的,可能是文件权限的问题,因为/tmp/mysql.sock不存在,用这样的方法:

      >ln -s /var/lib/mysql/mysql .sock   /tmp/mysql .sock

mysql启动失败

标签:recovery   database   日志功能   form   数据   can   两种   安装   ln -s   

原文地址:http://blog.51cto.com/13847924/2163753

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!