宝塔mysql数据库不启动 紧急求助和解决方法

宝塔mysql数据库不启动 紧急求助和解决方法,第1张

解决方法一:

1、打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM;

2、删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1;

3、找到在配置MySQL服务器时指定的InfoDB目录删除掉ibdata1

根据my.ini文件中:#*** INNODB Specific options *** innodb_data_home_dir="D:/";

4、重新启动MySQL的Service。

解决方法二:

把windows目录下,my.ini文件删除,重装mysql,服务启动成功。

本人还是个菜鸟,下面是我的经验之谈,能解决一些问题,有不对的地方,敬请斧正。

我的是CentOS6.3+MySQL5.1.57。

重启了一次服务器后,使用>mysql -u root -p登陆是出现下面的错误

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

于是,我检察mysql状态:

>/etc/rc.d/init.d/mysqld status

显示stop,未运行。

>/etc/rc.d/init.d/mysqld restart

Stopping mysqld: [ OK ]

MySQL Daemon failed to start.

Starting mysqld: [ FAILED]

>ps -ef | grep mysql

root 28221 27474 0 14:18 pts/0 00:00:00 grep mysql 只有这一条

至此,我可以确定,mysql无法启动。

我开始排错,首先发现/tmp/mysql.sock不存在

>vim /etc/my.cnf

socket=/var/lib/mysql/mysql .sock

/var/lib/mysql/mysql .sock同样不存在

>find / -name mysql.sock

显示为空,未查询到mysql.sock文件,mysql.sock文件丢失了。

我看网上有人说mysql.sock套接字文件可以简单地通过重启服务器重新创建得到它,

>init 6 重启命令

重启后发现错误还是那样,没有任何改变,mysql.sock重启服务器未自动生成。

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

我尝试安全启动模式,mysqld_safe试图通过工作目录找到服务器和数据库,但mysqld_safe还是失败。

>mysqld_safe &

Starting mysqld daemon with databases from ....../mysql/var

STOPPING server from pid file .......pid

130802 15:17:11 mysqld ended

各种命令尝试无效的情况下,我开始了本次最大的收获----学会看错误日志。

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

mysql开启了bin日志功能,到数据库根目录查看该文件是存在的,可能是文件权限的问题。

>chown -R mysql:mysql /....../mysql/var

>mysqld_safe &

>/etc/rc.d/init.d/mysqld restart

Stopping mysqld: [ OK ]

Starting mysqld: [ OK]

成功启动了!~

此时mysql.sock文件出现了,在/var/lib/mysql/mysql .sock。如下图所示,以”s”开头的文件都是socket文件。

>mysql -u root -p

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

/tmp/mysql.sock

解决这个错误很简单,因为/tmp/mysql.sock不存在,用这样的方法:

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

以”l”开头的文件是软链接文件。或者可以通过修改/etc/my.cnf文件来修正它。

成功解决了!~

就是这样一个问题折腾了我这么久,错误日志让它无所遁形。查看错误日志可以明确问题所在,而不是像我之前那样盲目的找错。

俗话说授人以鱼不如授人以渔,学会查看日志,你也可以方便快捷的解决问题了。

错误使人进步,我与这个错误斗争了四个多小时,对linux的“一切皆文件”这句话有了更深的了解,对我学习文件系统管理(目录树)有很大的帮助,让我的思维真正的从windows *** 作系统转向成linux系统。并最终解决问题,很有成就感,我喜欢这种感觉。

希望能对阅读的你有所帮助,谢谢!~

No space left on device 此提示是提示磁盘没有空间,面板无法写入session导致无法登录面板(新面板已修复此问题)

此时需要清理磁盘空间,请进ssh依次输入以下命令清理磁盘,或根据需求清理。

清理网站日志/php站点session/系统邮件/临时文件

cd /www/server/panel &&python tools.pyc clear

复制代码

清空面板回收站

rm -rf /www/Recycle_bin/*

复制代码

清除mysql二进制日志( *** 作过程中会停止重启数据库)

/etc/init.d/mysqld stop

rm -f /www/server/data/ib_logfile*

rm -f /www/server/data/mysql-bin.*

/etc/init.d/mysqld start

复制代码

需要注意的是 执行rm命令时是不会返回任何提示的,直到能再次输入命令之前它都是正在删除文件的状态

能输入命令的时候即删除完成

清理完毕后可以输入以下命令检查磁盘剩余空间

df -h

复制代码

 

只要Use%这一列没有一个达到100%就可以了

一般只需要关注系统盘,即第一行,若有挂载数据盘到www目录,也要注意。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9526455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存