Mysql无法启动如何处理


Mysql无法启动如何处理


常见问题:
  1、Mysql
安装好后或迁移文件后无法启动
  2、Mysql
异常关闭后无法启动
  3、Mysql
停止后无法启动


一、Mysql安装好后或迁移文件后无法启动
  在Mysql
刚刚安装好或者迁移文件后无法启动我们一般先检查
Mysql
的数据目录所有者是否
mysql
用户。        例如我们宝塔环境是:             Mysql
数据目录
: /www/server/data             Mysql
程序目录
:/www/server/mysql             Mysql
主配置文件
:/etc/my.cnf

       首先检查硬盘分区使用率是否已经满了        执行下面的命令查看分区容量使用率

  1. df -h

复制代码


  
执行
下面的命令查看分区inode
使用率

  1. df -i

复制代码

  使用ll
命令查看目录详细信息

  1.     [[email protected] server]# ll /www/server/
  2.     total 24
  3.     drwxr-x—   6 root     root     4096 Oct 30 17:51 data
  4.     drwx–x–x  14 root     root      182 Oct 16 18:01 docker
  5.     drwxrwxr-x  12 root     root      326 Oct 24 18:06 mysql
  6.     drw——-. 14 root     root     4096 Oct 24 18:06 panel

复制代码

  可以看到data
目录所有者是
root
,这时候启动
mysql
报错如下

  1.     [[email protected] server]# /etc/init.d/mysqld start
  2.     Starting MySQL. ERROR! The server quit without updating PID file (/www/server/data/test.com.pid).

复制代码

  我们先修改该目录的所有者为mysql

  1. chown -R mysql.mysql data

复制代码

  启动数据库

  1. /etc/init.d/mysqld start

复制代码

  可以看到已经启动成功了

  1.     [[email protected] server]# /etc/init.d/mysqld start
  2.     Starting MySQL… SUCCESS!

复制代码


  还不行检查你的selinux
状态

  1. getenforce

复制代码


  如果返回值不值disable


  运行命令暂时停止selinux

  1. setenforce 0

复制代码

  再尝试启动


二、Mysql异常关闭后无法启动   Mysql
异常关闭是我们经常遇到的情况,重启服务器时没有预先关闭
mysql
,服务器断电,使用
kill
命令杀死
mysql
进程等都属于异常关闭,异常关闭往往会带来一些不可预料的后果。   一般情况下异常关闭会导致二进制日志文件损坏   执行

  1.     rm -f /www/server/data/ib_logfile0
  2.     rm -f /www/server/data/ib_logfile1

复制代码

  删除日志后再尝试启动


  遇到错误 Another MySQL daemon already running with the same unix socket

  可以尝试删除sock
文件后再启动

  1.     rm -f /tmp/mysql.sock*
  2.     rm -f /tmp/mysqlx.sock*

复制代码


  遇到错误
[ERROR] InnoDB: Cannot allocate memory for the buffer pool

  表示当前mysql启动需要的内存不够,我们需要调整

  1.     innodb_buffer_pool_size
  2.     key_buffer_size

复制代码

  的内存


三、Mysql停止后无法启动

  Mysql
正常停止后无法启动的原因


  1.
显示停止成功实际停止失败,有残留进程,我们可以用ps
来检查

  1. ps -ef|grep mysql

复制代码

  2.
磁盘空间满了导致mysql
无法启动


  3.
有时手动删除了binlog
日志重启
mysql
也会导致无法启动,在错误日志里可以找到
          File ‘./mysql-bin.000001’ not found
字样
  解决方法:
    注释主配置文件的配置
           找到

  1. log-bin=mysql-bin

复制代码

    改为

  1. #log-bin=mysql-bin

复制代码


  或者
清空

  1.      mysql-bin.index

复制代码


  操作如下

      上面是一些经常遇到的情况,如果大家有其他问题,可以提出我们将教程尽可能完善


转自   https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=39414&extra=page%3D2%26filter%3Dtypeid%26typeid%3D10