从 Ubuntu 14.04LTS 升级到 Ubuntu 15.04 后 MySQL 崩溃

从 Ubuntu 14.04LTS 升级到 Ubuntu 15.04 后 MySQL 崩溃

我最近从 Ubuntu 14.04LTS 升级到了 15.04,在升级过程中,MySQL 可能出现故障。升级后,我运行了以下命令(启动 mysql):

sudo service mysql start

结果是命令未找到,它建议我安装 mysql-server 和 mysql-common 包,这意味着它们在升级期间被清除了。我决定再次安装这些包:

sudo apt-get install mysql-server

这是我遇到问题和错误的地方。当我运行上述命令时,我的终端上显示的内容(部分内容):

Setting up mysql-server-5.6 (5.6.24-0ubuntu2) ...
Job for mysql.service failed. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.6; however: 
  Package mysql-server-5.6 is not configured yet.
  Package mysql-community-server which provides mysql-server-5.6 is not installed.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
 mysql-server-5.6
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

我已经检查过几乎“类似”的问题这里这里这里但似乎都无济于事,这是旧升级造成的。此外,我决定尝试从 Ubuntu 软件中心安装服务器、客户端和工作台。安装过程中出现错误,但似乎已安装,因为工作台显示服务器正在运行。我碰巧在 ./opt 文件夹中有 LAMPP 堆栈,这里可能存在冲突。另一个问题是,我无法从终端甚至工作台控制服务器。如果我尝试使用以下命令从终端访问 MySQL:

mycomp:~$ mysql -u user -p

我得到的结果:

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

由于 Ubuntu 15.04 几天前才发布,其他地方很难找到解决方案。如果这篇文章应该发表在 MySQL 论坛上,那么我对这个错误表示歉意,但我会很感激任何给出的答案。

答案1

启动mysql时检查日志:

  • 在一个终端中:tail -f /var/log/mysql/error.log
  • 在另一个中:(sudo service mysql start也许您首先需要用 停止服务sudo service mysql stop)。
  • 如果有错误,则需要修复它们。

就我而言,我遇到了以下错误:

[错误] mysqld:未知变量“table_cache=256”
[错误] 中止

由于mysql问题:table_cache 重命名为 table_open_cache服务器没有启动。

在我的设置中重命名此变量(/etc/mysql/conf.d/my_custom.cnf)解决了我的问题并且mysql按原样启动。

最后我通过调用更新了mysqlsudo mysql_upgrade -u root -p

答案2

您可能已经解决了这个问题,但希望它可以帮助遇到同样问题的其他人。

我的 14.10-15.04 升级卡在进程尝试启动 mysqld 时,并显示一些关于 root 管理员密码的模糊消息。我继续查看正在运行的 mysqld 进程,发现它的进程 ID 与升级进程所说的要启动新 mysqld 的进程 ID 完全不同。所以我想“sudo /etc/init.d/mysql stop”可能会有帮助。瞧,升级过程一路飞速完成。

(哎呀。发错帖子了。我会在另一个帖子里发这个。很抱歉)

祝你好运。

答案3

对我来说,在我从 14.04 升级到 15.04 并从 systemd 切换回 Upstart 后,MySQL 就崩溃了。

有趣的是,我可以手动启动 mysql,但无法通过 /etc/init.d/(即使用sudo service mysql start)启动它。在阅读了 Ubuntu Upstart 脚本后,很明显 Ubuntu 需要apparmor存在才能从 Upstart 运行 MySQL。

因此,对我有用的解决方案是:

  1. sudo aptitude install apparmor

这就是所需要的全部了。

答案4

我遇到了类似的错误,而我在互联网上看到的任何帮助都无济于事。问题原来是一个愚蠢的问题。我之前将 mysql 的默认数据目录更改为辅助硬盘。由于未安装此磁盘,因此我收到了错误。

要检查此类访问问题是否导致错误,请在 mysql 配置文件中找到 mysql 的当前数据目录。

less /etc/mysql/mysql.conf.d/mysqld.cnf

在某些情况下,目标配置文件的路径可能会略有不同:

less /etc/mysql/my.cnf

查找条目datadir并复制路径。查看该目录是否可以通过命令访问cd

相关内容