数据库无法启动,今天无缘无故启动不起来了。
手动尝试了很多的修改,还是无法启动
使用方法
在ssh输入:wget -O sql-repair.sh http://download.bt.cn/install/sql-repair.sh && sh sql-repair.sh
运行宝塔检测脚本,然后可以排除错误。一般来说可以启动数据库了。
也可以自己创建一个脚本然后运行,代码如下
代码语言:javascript复制#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
Mysql_Check(){
if [ ! -f "/www/server/mysql/bin/mysql" ]; then
echo "此服务器并没有安装宝塔mysql!"
exit;
fi
ps -ef |grep /www/server/mysql |grep -v grep > null
if [ $? -ne 1 ]; then
echo "mysql is running! exit;"
exit;
fi
}
#硬盘检测
Disk_Check(){
DiskFree=`df -h | awk ' /// {print $5, $6 "DiskCheck"}' | awk '//wwwDiskCheck/ {print $1}'`
DiskInodes=`df -i | awk '//www/ {print $5, $6 "diskTest"}' |awk '//wwwdiskTest/ {print $1}'`
MysqlBinDisk=`du -s /www/server/data/mysql-bin.* | awk '{size = size $1} END {print size}'`
MysqlDataDisk=`df /www/server/data | awk 'NR==2 {printf ("%.0f", $2/10)}'`
if [ "${DiskFree}" == "100%" ] && [ "${MysqlBinDisk}" -gt "${MysqlDataDisk}" ]; then
read -p "检测到可能因mysql日志导致磁盘占满,需要清理mysql日志尝试启动吗?(y/n):" clear
if [ "${clear}" = "y" ]; then
rm -f /www/server/data/mysql-bin.*
rm -f /www/server/data/ib_*
sleep 2
/etc/init.d/mysqld start
exit;
fi
fi
if [ "${DiskFree}" == "100%" ]; then
df -h
echo -e "============================================================"
echo -e "磁盘已满导致Mysql无法正常启动"
echo -e "你可以输入以下命令清除后启动mysql"
echo -e "清空回收站->>