我的服务器在Ubuntu 16.04上运行 我的MySQL配置存在一些问题,所以我决定清理并重新安装MySQL服务器。
执行此命令后:
sudo apt-get install mysql-server
这是我在整个过程中得到的结果:
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Renaming removed key_buffer and myisam-recover options (if present)
Job for mysql.service failed because the control process exited with error code. 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.7 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up libhtml-tagset-perl (3.20-2) ...
Setting up liburi-perl (1.71-1) ...
Setting up libhtml-parser-perl (3.72-1) ...
Setting up libcgi-pm-perl (4.26-1) ...
Setting up libfcgi-perl (0.77-1build1) ...
Setting up libcgi-fast-perl (1:2.10-1) ...
Setting up libencode-locale-perl (1.05-1) ...
Setting up libhtml-template-perl (2.95-2) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up libhttp-date-perl (6.02-1) ...
Setting up libio-html-perl (1.001-1) ...
Setting up liblwp-mediatypes-perl (6.02-1) ...
Setting up libhttp-message-perl (6.11-1) ...
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.7; however:
Package mysql-server-5.7 is not configured yet.
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.
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Processing triggers for systemd (229-4ubuntu13) ...
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
mysql-server-5.7
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
我尝试启动MySQL并运行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 Tue 2016-12-20 17:33:32 BDT; 14s ago
Process: 22634 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Process: 22631 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 22634 (code=exited, status=1/FAILURE); : 22635 (mysql-systemd-s)
Tasks: 2
Memory: 1.5M
CPU: 337ms
CGroup: /system.slice/mysql.service
└─control
├─22635 /bin/bash /usr/share/mysql/mysql-systemd-start post
└─22669 sleep 1
当我尝试使用mysql -u root -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
答案 0 :(得分:0)
我今天遇到同样的问题,最后我发现这是因为在my.cnf中有类似的东西:
log_slow_queries = /var/log/mysql/mysql-slow.log
但是在Mysql 5.7中,不推荐使用log_slow_queries,更改为
slow_query_log_file = /var/log/mysql/mysql-slow.log
解决了我的问题。
答案 1 :(得分:0)
确保没有其他的mysql进程正在运行。我有一个死的mysql进程正在运行,这导致冲突/升级错误。
ps -aux | grep 3306
如果有任何“死”的mysql进程,请像`sudo kill -15 {pid here}这样杀死它们。
然后再次运行升级。
欢呼 Unkn0wn0x
答案 2 :(得分:0)
您可能希望尝试从源代码安装,以便您可以查明是什么导致了问题。
首先使用以下命令删除所有部分安装的mysql软件包:
$ sudo apt-get remove --purge mysql\*
然后按照本指南进行操作:
https://dev.mysql.com/doc/refman/5.7/en/source-installation.html
或者,您可以安装MariaDB,它是mysql的直接替代品:
$ sudo apt-get install mariadb-server
我已经开始在Ubuntu而不是MySQL上使用MariaDB,它对我来说很好。