探索,發現,愛好、學習,記錄,分享。
學海無涯,天涯若比鄰,三人行,必有我師。

宝塔面板MYSQL数据库无法启动解决方法

无法启动的原因充满各种玄学,每个人的遇到的无法启动情况都有各种奇怪,下述解决方案哪个适合你的情况,请自行食用。

宝塔环境目录是:

Mysql数据目录: /www/server/data

Mysql程序目录:/www/server/mysql

Mysql主配置文件:/etc/my.cnf

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

df -h

 

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

df -i

 

遇到数据库无法启动时,可以先在SSH用以下命令看看数据库日志:

cat /www/server/data/*.err | grep -i -C 10 error

 

疑难杂症一:删除 mysql-bin.index 后,再试试启动MySQL是否正常。

疑难杂症二:

服务器因为强制重启后导致MySQl出现错误,导致存在无法恢复的表或者表空间:

1、有条件的话首先对服务器磁盘建立一个快照,然后打开mysql的配置文件:/etc/my.cnf

在[mysqld]配置中增加一行:

innodb_force_recovery = 1

这个参数默认是0,一共可以设置 1–6,

2、总有一个参数可以启动您的mysql,启动后做个mysql全部备份后。

3、删除刚才添加的配置,重启mysql

 

疑难杂症三:

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

chown -R mysql.mysql data登录后复制

启动数据库

/etc/init.d/mysqld start登录后复制

 

疑难杂症四:

Mysql异常关闭是我们经常遇到的情况,重启服务器时没有预先关闭mysql,服务器断电,使用kill命令杀死mysql进程等都属于异常关闭,异常关闭往往会带来一些不可预料的后果。

一般情况下异常关闭会导致二进制日志文件损坏

执行

rm -f /www/server/data/ib_logfile0
rm -f /www/server/data/ib_logfile1

 

删除日志后再尝试启动

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

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

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

 

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

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

innodb_buffer_pool_sizekey_buffer_size

的内存

三、Mysql停止后无法启动

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

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

ps -ef|grep mysql

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

3.有时手动删除了binlog日志重启mysql也会导致无法启动,在错误日志里可以找到

File ‘./mysql-bin.000001’ not found 字样

解决方法:

注释主配置文件的配置

找到

log-bin=mysql-bin

改为

#log-bin=mysql-bin

或者清空

mysql-bin.index

以下两种解决方案,根据自身情况自选尝试 1,通过改etc/init.d/mysqld解决

然后还有一种是我个人通过查帖子解决这个问题的方法首先

1.第一步是先找到etc/init.d/mysqld这个文件然后打开找到start部分

刚打开没有蓝色框的这一串代码,为其加上然后保存关闭

2.打开宝塔终端直接输入 service mysqld start 这行代码让其mysql进行运行

3.然后再去看mysql就已经开始运行了

2通过删除一个文件解决

有些无法启动的mysql可能是自己并没有启动主从复制,但是在/www/server/data下莫名其妙多出来了一个mysql-bin.index文件,这时候把这个文件删掉然后再启动也可以启动成功。

 

大家不要在mysql运作,或性能调整的时候进行重启或者关闭,要养成定期备份数据的良好习惯,否则数据没了泪两行。

 

数据库修复方法一:

wget -O sql-repair.sh http://download.bt.cn/install/sql-repair.sh && sh sql-repair.sh

 

数据库修复方法二:

SSH中执行:bt 然后输入 2,停止宝塔面板。

继续执行:

cp -rp /www/server/panel/data /www/backup/data_bak (备份现有数据库,时间请根据实际修改)

继续输入:

unzip /www/backup/panel/bak.zip (解压前一天的数据库备份,请根据实际日期修改。)

恢复数据库:

cp -rp bak/data/* /www/server/panel/data/ (目录日期于上一步解压的日期相同)

最后输入 bt 然后 键入 1,启动宝塔面板。

版權聲明:本文采用知識共享 署名4.0國際許可協議 [BY-NC-SA] 進行授權
轉載事宜:如需轉載需徵得應允,轉載必須注明來源於本站的信息。
文章名称:《宝塔面板MYSQL数据库无法启动解决方法》
文章链接:https://www.thefreesky.com/blog/28283.html
本站資源僅供個人學習交流,請於下載後24小時內刪除,不允許用於商業用途,否則法律問題自行承擔。

評論 抢沙发