1

在我的服务器上托管了两个网站(比如 abc.com 和 test.xyz.com)

我正在尝试为 test.xyz.com 重建数据库并在此过程中

1.我删除了与之相关的数据库。2.stopped mysql (/etc/init.d/mysqld stop) 3.moved ibdata1 文件(/var/lib/mysql/ibdata1) 到/tmp/ 4. 尝试启动mysql

但它还没有开始并试图使用终端连接到数据库,我得到了Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

我试图将 ibdata1 文件从 /tmp/ 移回 /var/lib/mysql 但已经有一个文件 ibdata1. 这是一个奇迹,但由于没有数据库连接,现在网站无法正常工作。

这两个站点现在都停止了工作。请帮忙

并且- /etc/init.d/mysqld 状态给出- mysqld (pid 31905) 正在运行...

谢谢

4

1 回答 1

5

快速解决:

  • 停止你的服务器
  • 删除 /var/lib/mysql 中新创建的 ibdata1 文件。该文件不存在时会自动创建。另请注意,它很可能包含服务器上所有数据库的数据。
  • 将 ibdata1 从 tmp 文件夹复制回 /var/lib/mysql
  • 再次启动服务器

我稍后会解释,当我有更多时间时,但我认为你可能迫切需要快速修复 :)

更新:(来自评论)您无法连接,好吧,这可能是任何原因。我认为最好的办法(无论如何你都没有太多可放松的)就是你干脆杀死mysql。

ps aux | grep mysqld

然后

kill -9 <the processnumber of mysql from the previous command>

然后按照我之前说的做。永远不要再简单地移动 ibdata1 :)

我也投票关闭作为offtopic。然后它将被移至 dba.stackexchange.com,这是一个更专注于管理数据库服务器的合作伙伴站点。你可能会在那里得到更好的帮助。

于 2013-02-05T11:54:06.350 回答