从14.04升级到16.04后,MySQL无法正常工作

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

 systemctl statusmysql.serviceâmysql.service -  MySQL社区服务器已加载:已加载(/lib/systemd/system/mysql.service;已启用;供应商预设:已启用)活动:无效(已停止)(结果:退出代码)自星期四起2016-05-26 15:43:35 CDT;  36s ago Process:18735 ExecStartPost = / usr / share / mysql / mysql-systemd-start post(code = exited,status = 0 / SUCCESS)进程:18734 ExecStart = / usr / sbin / mysqld(code = exited,status = 1 / FAILURE)进程:18946 ExecStartPre = / usr / share / mysql / mysql-systemd-start pre(code = exited,status = 1 / FAILURE)主PID:18734(代码=退出,状态= 1 / FAILURE)5月26日15 :43:34 Stark.newbierpg.com systemd [1]:无法启动MySQL社区服务器。  5月26日15:43:34 Stark.newbierpg.com systemd [1]:mysql.service:Unit进入失败状态。  5月26日15:43:34 Stark.newbierpg.com systemd [1]:mysql.service:结果'exit-code'失败。  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 for mysql.service失败,因为控制进程退出并显示错误代码。 有关详细信息,请参阅“systemctl status mysql.service”和“journalctl -xe”。  root @Stark:/ etc #systemctl statusmysql.serviceâmysql.service -  MySQL社区服务器已加载:已加载(/lib/systemd/system/mysql.service;已启用;供应商预设:已启用)活动:激活(start-post) (结果:退出代码)自星期四2016-05-26 15:47:30 CDT;  3s ago Process:20207 ExecStart = / usr / sbin / mysqld(code = exited,status = 1 / FAILURE)进程:20205 ExecStartPre = / usr / share / mysql / mysql-systemd-start pre(code = exited,status = 0 / SUCCESS)主要PID:20207(代码=退出,状态= 1 / FAILURE);  :20208(mysql-systemd -s)CGroup:/system.slice/mysql.serviceââcontrolââ20208/bin/bash/usr/share/mysql/mysql-systemd-startpostâ20245sleep 1 May 26 15:47:30 Stark。 newbierpg.com systemd [1]:启动MySQL社区服务器... 5月26日15:47:33 Stark.newbierpg.com systemd [1]:mysql.service:主进程退出,代码=退出,状态= 1 / FAILURE 

在Upgarde从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,你也可以查看

我无法评价或评论,但在我下面使用的Ubuntu的全新安装然后重新安装并且工作正常!

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

尝试启动或重新启动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 
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: activating (start-post) (Result: exit-code) since Thu 2016-11-10 17:09:58 AST; 24s ago
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)**
Main PID: 31363 **(code=exited, status=1/FAILURE)**; : 31364 (mysql-systemd-s)
CGroup: /system.slice/mysql.service
└─control
├─31364 /bin/bash /usr/share/mysql/mysql-systemd-start post └─31441 sleep 1

问题是由于文件/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! 

您可以尝试通过注释掉(在行的开头插入# )违规设置等来解决它。

我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