在Ubuntu 16.04上安装mySql时出错

我一直按照这个页面上的说明在Ubuntu 16.04上安装mysql。

我在标题为“MySQL安装和配置”的部分下半页,我运行命令sudo apt-get install mysql-server 。 我遇到了错误,但这是我终端中该错误的输出:

 Preconfiguring packages ... Selecting previously unselected package mysql-common. (Reading database ... 41515 files and directories currently installed.) Preparing to unpack .../mysql-common_5.7.12-0ubuntu1_all.deb ... Unpacking mysql-common (5.7.12-0ubuntu1) ... Selecting previously unselected package mysql-client-5.7. Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ... Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ... Processing triggers for man-db (2.7.5-1) ... Setting up mysql-common (5.7.12-0ubuntu1) ... update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode Selecting previously unselected package mysql-server-5.7. (Reading database ... 41563 files and directories currently installed.) Preparing to unpack .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ... Unpacking mysql-server-5.7 (5.7.12-0ubuntu1) ... Selecting previously unselected package mysql-server. Preparing to unpack .../mysql-server_5.7.12-0ubuntu1_all.deb ... Unpacking mysql-server (5.7.12-0ubuntu1) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for systemd (229-4ubuntu4) ... Processing triggers for man-db (2.7.5-1) ... Setting up mysql-client-5.7 (5.7.12-0ubuntu1) ... Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ... update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server Upgrade process encountered error and will not continue. mysql_upgrade failed with exit status 11 dpkg: error processing package mysql-server-5.7 (--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.7; however: Package mysql-server-5.7 is not configured yet. dpkg: error processing package mysql-server (--configure): dependency problems - leaving unconfigured Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for systemd (229-4ubuntu4) ... Errors were encountered while processing: mysql-server-5.7 mysql-server E: Sub-process /usr/bin/dpkg returned an error code (1) 

这是我第一次设置服务器并安装mysql。 不确定这是否可能是导致错误的原因,但我以前曾尝试安装mysql但没有遵循LAMP流程(我是新手搞清楚)并且这是不成功的,我不得不卸载。

这个答案也是为了回答16.04升级破解mysql-server但我无法回答,因为管理员将其锁定为10个声誉。

APT中的错误发生在Ubuntu升级到16.04(xenial)和Mysql从5.5升级到5.7期间。 由于一些打包问题,APT升级结束,因为Mysql-server-5.7的安装后脚本无法完成。

要解决此问题,请尝试以下步骤:

  1. apt purge mysql-serverapt autoremove来清除旧MYSQL的所有痕迹。 数据库数据不会被销毁。
  2. /etc/mysql目录中删除所有内容。
  3. 确认没有安装旧的Mysql软件包: dpkg -l | grep mysql dpkg -l | grep mysql
  4. apt install mysql-server进行安装

如果这些步骤以相同的不完整安装结束,请尝试下一步:

  1. Tail -n 20 /var/log/mysql/error.log
  2. 错误可能是一个。 debian-sys-maint的密码错误。 Innodb没有记忆

解决2a:您需要将Mysql系统表从5.5升级到5.7

编辑my.cnf以包含'[mysqld]’行“skip-grant-tables”, service mysql startmysql_upgrade --force -u root -p

解决2b:你的Mysql Innodb池内存不足(你在微型服务器上?)

编辑my.cnf以包含'[mysqld]’行innodb_buffer_pool_size = 20M

默认的innodb池是128M,在512M VM中很紧

要清除APT错误,请再次安装后

 dpkg --configure -a 

完全删除mysql并重新安装是我最终找到的解决方案。 虽然我曾试图卸载并重新安装一次失败(因此让我提出这个问题)。 在找到此页面上的建议后,我尝试了更彻底的卸载: 完全卸载MySQL

按照那里的卸载指示并重新安装解决了问题。

另一个好方案:

 sudo apt-get purge mysql* && sudo apt-get install mysql-server 

这对我有用:

 sudo apt-get remove --purge mysql* 

此命令将询问您是否要从/var/lib/mysql 删除数据库 ,并且还将删除所有其他mysql实例!

所以首先备份你的数据库!

在此之后,我可以通过发出命令来安装数据库:

 sudo apt-get install mysql-server 

尝试删除所有包和文件,然后重新安装“mysql-server”

 sudo apt-get remove --purge mysql-\* sudo rm -rf /var/lib/mysql sudo apt-get install mysql-server 

首先,你删除了mysql-server的所有包:

 sudo rm -rf /var/lib/mysql 

然后安装:

 sudo apt-get install lamp-server^ 

或者你可以这样做:

 sudo apt-get install mysql-server