安装 MySQL 时出错

安装 MySQL 时出错

在 Ubuntu 20.04 中,我尝试安装 mysql 服务器:

sudo apt install mysql-server

并出现以下错误:

Setting up mysql-server-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Renaming removed key_buffer and myisam-recover options (if present)
mysqld will log errors to /var/log/mysql/error.log
mysqld is running as pid 128938
dpkg: error processing package mysql-server-8.0 (--configure):
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1

遵循建议这里,我尝试清除并重新安装,但没有效果——我得到了同样的错误。

错误信息不太详细——我该怎么做才能完成安装?

编辑:在文件 /var/log/mysql/error.log 中我看到以下错误消息:

2020-07-09T11:15:12.312553Z 0 [ERROR] [MY-011292] [Server] Plugin mysqlx reported: 'Preparation of I/O interfaces failed, X Protocol won't be accessible'
2020-07-09T11:15:12.312812Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/var/run/mysqld/mysqlx.sock' failed, can't create lock file /var/run/mysqld/mysqlx.sock.lock'

答案1

我遇到了同样的错误。问题是 my.cnf 包含NO_AUTO_CREATE_USER在 下sql_mode。这已在 MySql 8.0 中删除。

我的 中有以下内容/etc/mysql/my.cnf

sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

删除后NO_AUTO_CREATE_USER修复了这个问题。

答案2

使用 查找锁定进程ps -eaf | grep mysql并注释命令是否返回结果。使用 终止锁定进程sudo kill -9 <locking-process-number>,然后运行sudo apt purge mysql-server并重试sudo apt install mysql-server

答案3

将 Ubuntu 升级到 20.04 后,我遇到了同样的问题。清除并重新安装 mysql 后,我开始在末尾看到新的错误/var/log/mysql/error.log

我的问题具体是Unrecognized variable <name of config variable>。这些值在我的/etc/mysql/my.cnf版本中,我选择保留以前的版本,但显然这些配置变量不再受支持。我将它们注释掉,服务器正常启动并重新开始工作。

这些变量具体为query_cache_limitquery_cache_size

相关内容