MySQL:软件包“mysql-server”没有安装候选项。

22

每当我想通过命令行安装任何软件时,都会显示此错误。即使我尝试安装我知道在下载源中存在的软件。

以下是我收到的完整错误消息:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package mysql-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mysql-server' has no installation candidate
6个回答

32
如果您已经成功地按照之前的步骤进行操作,并在运行sudo apt-get install mysql-server时遇到错误,请尝试以下方法。
sudo apt-get install mariadb-server

它对我有效。

2
我在阅读这个答案之前花了7分钟,但是这个答案最吸引我。谢谢。它有效。 - Neel
5
这是一个不同的数据库,如果它被移除会导致问题,因此不能建议这样做,应该安装实际的mysql数据库。 - Owl
您所指的问题是什么类型的问题,这样我在我的答案中也可以提及它。 - Nitish770

26

在尝试在Debian 10上安装MySQL Server时,我遇到了这个问题。

以下是我的解决方法:

该问题是由于系统软件仓库列表中未包含MySQL服务器apt存储库所导致的。例如,在Debian 10中,MariaDB(MySQL项目的社区分支)被打包为默认的MySQL变体。

因此,首先将MySQL服务器apt存储库添加到您的系统软件仓库列表中以解决此问题。按照以下步骤进行操作:

前往MySQL APT存储库的下载页面:

https://dev.mysql.com/downloads/repo/apt/

选择并下载适用于您的Linux发行版的发布包。您可以使用:

sudo wget https://the-download-link

在我的情况下,它是:

sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb

使用下面的命令安装已下载的发布包,将version-specific-package-name替换为已下载软件包的名称(如果您不在软件包所在的文件夹内运行命令,则需要在名称前加上其路径):

sudo dpkg -i version-specific-package-name.deb

在我的情况下,它是:

sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
Note: 使用dpkg安装、卸载和检查 .deb 软件包。使用-i标志指定安装特定文件。
在安装过程中,您将看到一个配置屏幕,您可以在其中指定首选的 MySQL 版本,以及安装其他 MySQL 相关工具的选项。默认情况下,会添加最新稳定版本 MySQL 的存储库信息,没有其他东西。这就是我们想要的,所以使用向下箭头导航到Ok菜单选项,然后按ENTER键。
您还需要选择要添加的存储库。选择“debian buster”,其中包含“mysql-server”软件包。添加此存储库后,可以更新存储库并使用以下命令安装 MySQL。
sudo apt-get install mysql-server 软件包现在将完成添加存储库。刷新您的apt软件包缓存,以便新的软件包可用:
sudo apt update

注意: 如果您需要更新这些存储库的配置,请运行sudo dpkg-reconfigure mysql-apt-config,选择新选项,然后sudo apt-get update以刷新软件包缓存。

通过以下命令安装MySQL:

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

注意: 此安装程序会安装MySQL服务器的软件包,以及客户端和数据库共享文件的软件包。在安装过程中,您需要为MySQL安装程序提供root用户的密码。

安装后,MySQL服务器将自动启动。您可以使用以下命令检查MySQL服务器的状态:

sudo service mysql status

使用以下命令停止MySQL服务器:

sudo service mysql stop

要重新启动MySQL服务器,请使用以下命令:

sudo service mysql start

MySQL会创建一个名为root的默认用户。您可以使用套接字认证登录到MySQL控制台,并将密码更改为您选择的任何密码:

sudo mysql -u root

然后运行以下命令来更改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your-preferred-password';

参考资料:

使用MySQL APT仓库的简要指南

如何在Debian 10上安装最新的MySQL

就这些。

希望这有所帮助。


用户名称和密码是什么? - Midhilaj
它创建了一个名为root的默认用户。您可以通过运行命令sudo mysql -u root并输入以下命令来更改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';。您可以选择任何密码。 - Promise Preston
如果你遇到错误代码,例如:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 请使用 sudo mysql -u root -p 其中的 -p 是指密码,在那里输入你的 SQL 服务器密码。 - Marcin
sudo service mysql status is showing mysql: unrecognized service - Rishabh Deep Singh

8

你可以通过以下方式安装mysql

sudo apt install default-mysql-server

--------
sudo service mysql status
 mariadb.service - MariaDB 10.3.31 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2022-02-09 13:19:33 +08; 33s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 18537 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 4915)
   Memory: 73.1M
   CGroup: /system.slice/mariadb.service
           └─18537 /usr/sbin/mysqld

2
这不是安装MySQL,而是安装MariaDB,两者不同。 - Owl
2
这个建议给我带来了很多麻烦。移除MariaDB真的很麻烦,即使已经移除,还会留下残留物,在mysql安装中会引起严重问题。 - Owl

1

运行:

apt install default-mysql-server

这将安装MariaDB,但仍然可以使用service mysql status命令进行响应。


这条建议给我带来了很多麻烦。移除MariaDB真的很棘手,即使它被移除了,也会留下残留物,在mysql安装中造成严重问题。 - Owl

0

正在读取软件包列表... 完成 正在构建依赖关系树
正在读取状态信息... 完成 软件包 mysql-server 不可用,但是被另一个软件包引用。 这可能意味着该软件包已丢失、已被废弃或 仅可从其他来源获取 E: 软件包 'mysql-server' 没有安装候选项

解决方案

->sudo apt update ->sudo apt upgrade ->sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* ->sudo rm -rf /etc/mysql /var/lib/mysql

-> ***

  1. strong text

***sudo apt-get autoremove

-> sudo apt-get autoclean

-> systemctl restart mariadb

-> sudo apt install mariadb-server mariadb-client

-> system status mariadb (检查是否处于运行状态,然后您将获得创建密码的选项)

现在您已准备好开始 MySQL 的新旅程 如果您还有任何问题,请通过我的 Instagram 联系我 @vishal_4355


0

很可能您正在运行ubuntu操作系统。首先运行apt-get update非常重要。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接