从 14.04 升级到 16.04 后 MySQL 无法运行

从 14.04 升级到 16.04 后 MySQL 无法运行

经过大量的故障排除后,我设法让 Plasma 运行起来,但 MySQL 仍然无法启动

systemctl 状态 mysql.service
â mysql.service - MySQL 社区服务器
   已加载:已加载(/lib/systemd/system/mysql.service;已启用;供应商预设:已启用)
   活动:非活动(已死亡)(结果:退出代码)自 2016-05-26 星期四 15:43:35 CDT;36 秒前
  进程:18735 ExecStartPost=/usr/share/mysql/mysql-systemd-start post(代码=退出,状态=0/成功)
  进程:18734 ExecStart=/usr/sbin/mysqld(代码=已退出,状态=1/FAILURE)
  进程:18946 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre(代码=已退出,状态=1/FAILURE)
 主 PID:18734(代码=已退出,状态=1/失败)

5月26日 15:43:34 Stark.newbierpg.com systemd[1]: 无法启动 MySQL 社区服务器。
5月26日 15:43:34 Stark.newbierpg.com systemd[1]: mysql.service: 单元进入失败状态。
5月26日 15:43:34 Stark.newbierpg.com systemd[1]: mysql.service: 失败,结果为“退出代码”。
5月26日 15:43:35 Stark.newbierpg.com systemd[1]: mysql.service: 服务延迟时间已过,正在安排重新启动。
5月26日 15:43:35 Stark.newbierpg.com systemd[1]: 已停止 MySQL 社区服务器。
5月26日 15:43:35 Stark.newbierpg.com systemd[1]: mysql.service: 启动请求重复太快。
5月26日 15:43:35 Stark.newbierpg.com systemd[1]: 无法启动 MySQL 社区服务器。
root@Stark:/etc# service mysql start
mysql.service 的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参阅“systemctl status mysql.service”和“journalctl -xe”。
root@Stark:/etc# systemctl status mysql.service
â mysql.service - MySQL 社区服务器
   已加载:已加载(/lib/systemd/system/mysql.service;已启用;供应商预设:已启用)
   活动:激活(启动帖子)(结果:退出代码)自 2016-05-26 星期四 15:47:30 CDT;3 秒前
  进程:20207 ExecStart=/usr/sbin/mysqld(代码=退出,状态=1/FAILURE)
  进程:20205 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre(代码=exited,状态=0/SUCCESS)
 主 PID: 20207 (代码=已退出,状态=1/失败);: 20208 (mysql-systemd-s)
   CGroup:/system.slice/mysql.service
           ââcontrol
             ââ20208 /bin/bash /usr/share/mysql/mysql-systemd-start 帖子
             ââ20245 睡眠 1

5月26日 15:47:30 Stark.newbierpg.com systemd[1]: 正在启动 MySQL 社区服务器...
5月26日 15:47:33 Stark.newbierpg.com systemd[1]: mysql.service: 主进程已退出,代码=已退出,状态=1/失败

答案1

我们在将 14.04 升级到 16.04 后也遇到了同样的问题,通过删除解决了这个问题

myisam-recover = BACKUP

key_buffer = 16M

my.cnf

然后使用

sudo service mysql start

重新启动 MySQL 守护进程并

sudo apt-get -f install 

恢复您的系统打包状态。

我在这里找到了这个建议:https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1570673,你也可以检查

答案2

我无法评分或评论,但在全新安装的 Ubuntu 中我使用了下面的方法然后重新安装并运行良好!

apt-get purge mysql-*
rm -fr /var/lib/mysql*

答案3

我在尝试启动或重新启动 mysql 时收到此消息

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

并且当使用

systemctl status mysql.service

我收到此消息

mysql.service - MySQL Community Server <br>
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)<br>
   Active: activating (start-post) (Result: exit-code) since Thu 2016-11-10 17:09:58 AST; 24s ago<br>
Process: 31363 ExecStart=/usr/sbin/mysqld **(code=exited, status=1/FAILURE)**
Process: 31360 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre **(code=exited, status=0/SUCCESS)**<br>
Main PID: 31363 **(code=exited, status=1/FAILURE)**;         : 31364 (mysql-systemd-s)<br>
CGroup: /system.slice/mysql.service<br>
       └─control<br>
         ├─31364 /bin/bash /usr/share/mysql/mysql-systemd-start post
         └─31441 sleep 1<br>

问题是由于文件问题引起的/etc/mysql/my.cnf。您可以使用mysql- 它会向您显示错误的位置,如下所示:

mysql: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at **line 20**!
mysql: [ERROR] Fatal error in defaults handling. Program aborted!

您可以尝试通过注释掉(#在行首插入)有问题的设置等来解决它。

答案4

我在 Google 上搜索了很多,但没有一个答案对我有用。我最终安装了 MySQL 5.6 ;(。Ubuntu 16.04 默认自带 MySQL 5.7。如果你没有特别的理由使用 5.7,那么继续使用 5.6 可能是一个节省时间的选择。

apt-get purge mysql-*
rm -fr /var/lib/mysql*
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
apt-get update
apt install mysql-server-5.6

相关内容