VMWare 虚拟机 mysql/apache 服务在 VM 复制后无法正常工作

VMWare 虚拟机 mysql/apache 服务在 VM 复制后无法正常工作

我在 VMWare 6.5.2 虚拟机中运行 Ubuntu 服务器。我将整个 VM 文件夹结构从台式机直接复制到笔记本电脑,然后启动它。

VM 客户操作系统启动后,事情有点不对劲。特别是,mysql 无法启动,我本地主机上的所有文件都显示 404,甚至根索引也是如此。

有任何想法吗?

编辑-为了澄清起见,我将位于主机 Windows 计算机文件系统中的虚拟机文件从我的台式计算机复制到我的笔记本电脑,然后在笔记本电脑上的 VMware 中打开了复制的文件。

以下是来自 syslog 的 mysql 错误日志:

Jul 23 11:51:03 ubuntu mysqld_safe[9194]: started
Jul 23 11:51:03 ubuntu mysqld[9197]: 090723 11:51:03  InnoDB: Started; log sequence number 0 8539038
Jul 23 11:51:03 ubuntu mysqld[9197]: 090723 11:51:03 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
Jul 23 11:51:03 ubuntu mysqld[9197]: 090723 11:51:03 [ERROR] Do you already have another mysqld server running on port: 3306 ?
Jul 23 11:51:03 ubuntu mysqld[9197]: 090723 11:51:03 [ERROR] Aborting
Jul 23 11:51:03 ubuntu mysqld[9197]: 
Jul 23 11:51:03 ubuntu mysqld[9197]: 090723 11:51:03  InnoDB: Starting shutdown...
Jul 23 11:51:04 ubuntu mysqld[9197]: 090723 11:51:04  InnoDB: Shutdown completed; log sequence number 0 8539038
Jul 23 11:51:04 ubuntu mysqld[9197]: 090723 11:51:04 [Note] /usr/sbin/mysqld: Shutdown complete
Jul 23 11:51:04 ubuntu mysqld[9197]: 
Jul 23 11:51:04 ubuntu mysqld_safe[9218]: ended
Jul 23 11:51:17 ubuntu /etc/init.d/mysql[9360]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Jul 23 11:51:17 ubuntu /etc/init.d/mysql[9360]: ^G/usr/bin/mysqladmin: connect to server at 'localhost' failed
Jul 23 11:51:17 ubuntu /etc/init.d/mysql[9360]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Jul 23 11:51:17 ubuntu /etc/init.d/mysql[9360]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Jul 23 11:51:17 ubuntu /etc/init.d/mysql[9360]: 

以下是 apache 错误日志。无论我尝试打开哪个 localhost url,都会输出相同的错误行:

[Thu Jul 23 11:57:38 2009] [error] [client 127.0.0.1] File does not exist: /htdocs
[Thu Jul 23 11:59:53 2009] [error] [client 127.0.0.1] File does not exist: /htdocs
[Thu Jul 23 11:59:59 2009] [error] [client 127.0.0.1] File does not exist: /htdocs
[Thu Jul 23 12:00:04 2009] [error] [client 127.0.0.1] File does not exist: /htdocs

答案1

这可能是 udev 的问题……以太网卡的名称基于接口的 mac 地址。如果 mac 地址已更改(如果是带有复制光盘的新机器,我预计会发生这种情况),则工作的以太网卡将具有新名称,而配置的旧以太网卡将不再存在/出现。

显示 /sbin/ifconfig 的输出将有助于展示某种方式。/etc/network/interfaces和的内容/etc/hosts会很有趣

答案2

您是否已经在端口 3306 上运行另一个 mysqld 服务器?

看起来你已经有一个正在运行的 mysql 版本,请执行“ps ax | grep mysql”查看,你也可以“telnet localhost 3306”

查看 httpd.conf 或同等文件,找到文档根目录,然后确认已将文件复制到正确的位置,同时使用 ls -l 复制后检查文件权限,这些文件需要对 apache 用户具有可读性

答案3

首先,如果您复制了虚拟机,IP 可能会发生变化。找到 my.cnf 并将绑定更改为 localhost 或新 IP。

接下来你可能会遇到一些权限问题,请创建一个符号链接 /tmp/mysqld.sock > mysqld.sock

cd /tmp
sudo ln -s /var/run/mysqld/mysqld.sock mysqld.sock
sudo /etc/init.d/mysql start &

相关内容