Ubuntu 14.04LTS 更新,mysql 无法启动(HY000/2002,未找到 mysql 命令错误)

Ubuntu 14.04LTS 更新,mysql 无法启动(HY000/2002,未找到 mysql 命令错误)

虽然这个问题已经有了不少答案,但我还没能解决其中任何一个。以下是我给出的事实。

我大约 2 个月没有使用过 Ubuntu 14.04,现在更新了。更新后,mysql 无法工作,并出现以下错误

PHP(本地网络开发):

Warning: mysqli_connect(): (HY000/2002): No such file or directory

安慰:

sudo service mysql start  
start: Job failed to start

或者(非 root 用户)

service mysql start
start: Unknown job: mysql

MySQL 安装检查显示:

$ dpkg --get-selections | grep mysql
libapache2-mod-auth-mysql           install
libmysqlclient18:amd64              install
libmysqlclient18:i386               install
libqt4-sql-mysql:i386               install
mysql-common                        install
mysql-server-5.5                    deinstall
mysql-workbench-community           install
php5-mysql                          deinstall
php7.0-mysql                        install

我发现虽然安装了 mysql-server-5.5,但是缺少一些其他包,但是从我目前所读的内容来看,这些包对于服务器运行来说不是必需的。

此外,尝试使用 mysqladmin 获取服务器状态将返回:

$ mysqladmin -u root -p status
mysqladmin: command not found

我也尝试过改变mysql数据目录的权限,因为我读到root权限可能会禁止访问和启动mysql服务器,尽管这不应该是一个考虑因素,因为mysql甚至没有被识别为一个命令。

如果我知道我的数据库会保留在原处,那么尝试重新安装 mysql 就不会有问题了。

更新

我也尝试了 dmesg 命令,得到了这个结果

dmesg | grep mysql
[    4.315790] init: Failed to spawn mysql main process: unable to execute: No such file or directory
[ 3556.147153] audit: type=1400 audit(1482506149.514:64): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=4942 comm="apparmor_parser"
[ 3556.149528] init: Failed to spawn mysql main process: unable to execute: No such file or directory
[ 4666.027886] audit: type=1400 audit(1482507259.370:65): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=5724 comm="apparmor_parser"
[ 4666.030250] init: Failed to spawn mysql main process: unable to execute: No such file or directory
[ 8341.035215] audit: type=1400 audit(1482510934.298:66): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=7776 comm="apparmor_parser"
[ 8341.046625] init: Failed to spawn mysql main process: unable to execute: No such file or directory

显然 mysqld 丢失了(?)

locate mysqld

返回

/etc/apparmor.d/usr.sbin.mysqld
/etc/apparmor.d/cache/usr.sbin.mysqld
/etc/apparmor.d/local/usr.sbin.mysqld
/etc/mysql/conf.d/mysqld_safe_syslog.cnf
/usr/lib/mysql-workbench/mysqldump

任何帮助都值得感激:)

答案1

阅读后MySQL 文档,我注意到您实际上可以 (?) 复制数据文件并将其移回新安装(冷备份)。所以我只是复制了文件并继续安装 MySQL 5.6。

在我看来,移动文件是没有必要的,因为安装后数据库已经全部到位。

相关内容