Вопрос или проблема
У меня свежий Debian 12, и я хочу MySQL 8, а не MariaDB. Интернет говорит, что это не проблема, но я не могу установить mysql-server
.
Что я сделал:
sudo apt install gnupg
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
sudo apt update
Эта часть сработала нормально. Я вижу, что репозиторий mysql обновляется:
Get:4 http://repo.mysql.com/apt/debian bookworm InRelease [22.7 kB]
Get:5 http://repo.mysql.com/apt/debian bookworm/mysql-8.0 Sources [949 B]
Get:6 http://repo.mysql.com/apt/debian bookworm/mysql-apt-config i386 Packages [566 B]
И пакет известен:
$ sudo apt policy mysql-server
mysql-server:
Установлено: (нет)
Кандидат: (нет)
Таблица версий:
но я не могу его установить:
$ sudo apt install mysql-server
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Пакет mysql-server недоступен, но на него ссылается другой пакет.
Это может означать, что пакет отсутствует, устарел или
доступен только из другого источника
E: Пакет 'mysql-server' не имеет кандидата для установки
Я где-то видел (не помню где, я читал весь интернет по этому поводу), что Debian 12 bookworm не поддерживает mysql, или наоборот, и что мне нужно установить mariadb. Мне действительно нужен mysql, а не mariadb.
Согласно https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/, я все еще могу установить mysql, если хочу. И согласно https://www.linuxbuzz.com/how-to-install-mysql-on-debian-12/ и многим другим. Так что mysql-server
должен работать на Debian 12..?
Установка mysql 8.0 на Debian 12 кажется актуальной, но это другая ошибка.
Я вспомнил, где я видел, что debian 12 bookworm не поддерживается. Не в интернете, а в установщике mysql, если бы я выполнил sudo apt install ./mysql-apt-config_0.8.33-1_all.deb
вместо использования dpkg
. Он позволил мне выбрать другую дистрибутив (например, Debian 11 bullseye), но mysql-server
все равно не устанавливался.
Я устанавливаю на мини-ПК, который был под управлением Windows 10, с процессором Intel i7-5557U. Видимо, он плохой, но я не могу представить, что это причина.
Имя пакета, которое вам нужно установить из этого репозитория, – это mysql-community-server
, а не mysql-server
.
Очевидно, Oracle переименовал пакеты, чтобы было действительно ясно, какой из них является бесплатной поддерживаемой сообществом версией, а какой – лицензированной корпоративной версией.
Ответ или решение
Установка MySQL на Debian 12: Решение проблемы с отсутствием кандидата для mysql-server
Если вы находитесь в процессе установки MySQL 8 на вашей новой системе Debian 12, но получаете сообщение об ошибке "Package mysql-server has no installation candidate", не отчаивайтесь. Эта проблема связана с изменениями, которые произошли в пакетах MySQL, и мы постараемся подробно разобрать, как её можно решить.
Причина проблемы
Как правильно заметили многие пользователи, Oracle переименовал пакеты MySQL в своих репозиториях. В частности, пакет mysql-server
был заменён на mysql-community-server
. Это может вызвать путаницу, так как многие руководства до сих пор упоминают старое имя пакета, что и стало причиной вашей проблемы.
Пошаговое решение
-
Установка необходимых утилит: Убедитесь, что
wget
иgnupg
установлены. Вы уже выполнили этот шаг.sudo apt install gnupg wget
-
Добавление MySQL репозитория:
Вы скачали файлmysql-apt-config_0.8.33-1_all.deb
и установили его. Однако стоит убедиться, что во время установки вы выбрали версию MySQL, которая соответствует вашей конфигурации. Вы можете сделать это, выполнив следующие команды:wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb sudo apt update
-
Проверка доступных пакетов:
После добавления репозитория, выполните команду, чтобы узнать доступные пакеты:apt-cache policy mysql-community-server
-
Установка сервера MySQL:
Чтобы установить MySQL, используйте команду:sudo apt install mysql-community-server
Дополнительные рекомендации
-
Проверка версии Debian: Убедитесь, что ваша система действительно использует Debian 12 (Bookworm). Вы можете проверить это с помощью команды:
lsb_release -a
-
Совместимость с другими пакетами: Если на вашей системе уже установлены другие версии MySQL или MariaDB, это может вызвать конфликты. Убедитесь, что они удалены с помощью:
sudo apt remove mariadb-server
-
Обновление системы: Поддерживайте вашу систему в актуальном состоянии, чтобы избежать подобных проблем в будущем. Регулярно выполняйте:
sudo apt update && sudo apt upgrade
Заключение
С помощью описанных шагов вы сможете успешно установить MySQL 8 на Debian 12, несмотря на некоторые изменения в названиях пакетов и репозиториев. Использование mysql-community-server
вместо mysql-server
– это ключ к решению вашей проблемы. Если у вас возникнут дополнительные вопросы или сложности, не стесняйтесь обратиться к документации MySQL или на форумы сообществ для получения поддержки.