mysql启动不了 /(ㄒoㄒ)/~~


有两个mysql服务器A和B

我貌似在mysql B服务器没有关闭的情况下,删除了数据目录

然后我把mysql A服务器的数据目录,复制到mysql B服务器原来的位置

当我启动mysql B服务器报错 /etc/init.d/mysql start

Starting service MySQL warning:
/var/lib/mysql/mysql.sock didn't appear within 30 seconds


尝试解决方法

/etc/init.d/mysql status为 unused

我尝试用tcp的方式去连接

mysql --protocal=tcp -u root -P 3306 -h localhost

可以连上mysql,不过show databases的时候,只剩下information_schema这个数据库

而我看了一下,mysqld的进程是正在进行的

图片描述

然后我尝试用TCP的方式,把服务器关掉

mysqladmin -u root -h 127.0.0.1 shutdown

然后发现mysqld的进程没了

于是我再重启mysql服务器 etc/init.d/mysql start

竟然能够成功启动

里面的数据库,就是我想要恢复的数据库了

图片描述

本来我想补充问题信息,补充着补充着竟然把问题给解决了

我再补一个问题吧,出现mysql.sock找不到的解决方案,就是重启mysql服务器,对吗?

数据库 mysql mysql优化

真·特仑苏 9 years, 6 months ago

你的表都是myisam的?

猎奇乃艺术 answered 9 years, 6 months ago

首先还是建议LZ贴出错误日志,我这里的经验的话,MySQL无法启动基本上是这些原因

  1. data目录没有被初始化,尝试使用mysql_install_db初始化data目录

  2. 进程被强制杀掉,没有清除pid文件,这个时候把pid文件手工删除试试

  3. 目录权限不对,或者不可写等等,用chown和chmod把权限改对

  4. 没有加载正确的配置文件(导致用默认配置在跑,然后遭遇了其它问题)

frankck answered 9 years, 6 months ago

Your Answer