debian — Не устанавливается MySQL. Ошибка при обработке пакета
Вопрос задан
Изменён 4 года 4 месяца назад
Просмотрен 337 раз
Есть физический сервер с Debian 9. Нужно установить Lemp. Сервер nginx, mysql и последнюю версию PHP. С MySQL начались проблемы. При попытке установить mysql-server, он убедительно выдавал MariaDB. Мне же нужен MySQL 5.7. Вычитал в интернете, мол надо скачать deb покет и поставить.
Скачал отсюда: https://dev.mysql.com/downloads/repo/apt/
Вышел файл:
mysql-apt-config_0.8.10-1_all.deb
Установил:
dpkg -i mysql-apt-config_0.8.10-1_all.deb
Потом:
sudo aptitude update
И наконец:
sudo aptitude install mysql-server
А во время установки мне выдало:
июн 23 16:28:47 ryzhikov systemd[1]: mysql. service: Unit entered failed s…te. июн 23 16:28:47 ryzhikov systemd[1]: mysql.service: Failed with result 'e…e'. Hint: Some lines were ellipsized, use -l to show in full. dpkg: ошибка при обработке пакета mysql-community-server (--configure): подпроцесс установлен сценарий post-installation возвратил код ошибки 1 dpkg: зависимости пакетов не позволяют настроить пакет mysql-server: mysql-server зависит от mysql-community-server (= 5.7.22-1debian9), однако: Пакет mysql-community-server пока не настроен. dpkg: ошибка при обработке пакета mysql-server (--configure): проблемы зависимостей — оставляем не настроенным При обработке следующих пакетов произошли ошибки: mysql-community-server mysql-server
И как сие исправить?
- mysql
- debian
2
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
linux — Не удается установить MySQL на Ubuntu
Пытаюсь настроить рабочее окружение Ubuntu на VirtualBox.
$ sudo apt-get clean
$ sudo apt-get install mysql-server
Ответ:
Чтение списков пакетов… Готово Построение дерева зависимостей
Чтение информации о состоянии… Готово Уже установлен пакет mysql-server самой новой версии (5.7.23-0ubuntu0.18.04.1). Обновлено 0 пакетов, установлено 0 новых пакетов
Логично, так как до этого уже пытася провести установку, но при вызове $mysql
Получал ответ
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
При первично установке я получил ошибку в терминале в GUI ошибку:
Automatic maintenance of MySQL server daemon disabled Packaging maintainer scripts detected a case that it does not know how to handle and cannot continue configuring MySQL. Automatic management of your MySQL installation has been disabled to allow other packaging tasks
Что это вобще такой за демон автоматического обслуживания и как его включить? В файле $ sudo nano /etc/mysql/FROZEN он мне как раз предлагает на него переключиться.
Так же пробовал ~$ mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root: Error: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
Здесь обнаружил что в /var/run нет каталога /mysqld
Попробовал создать: ~$ sudo mkdir /var/run/mysqld ~$ sudo mkfifo /var/run/mysqld/mysqld.sock ~$ sudo chown -R mysql /var/run/mysqld ~$ mysql
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (13)
При проверке статуса через sudo systemctl status mysql.service получаю вот это:
mysql.service — MySQL Community Server ● mysql.service — MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2018-08-16 16:30:08 MSK; 3min 8s ago Process: 4676 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE) mysql. service: Control process exited, code=exited statu mysql.service: Failed with result ‘exit-code’. Failed to start MySQL Community Server. mysql.service: Service hold-off time over, scheduling re mysql.service: Scheduled restart job, restart counter is Stopped MySQL Community Server. mysql.service: Start request repeated too quickly. mysql.service: Failed with result ‘exit-code’. Failed to start MySQL Community Server.
5.5 Устранение неполадок при установке Microsoft Windows MySQL Server
версия 5.7
8,0
Текущий
5.6
При установке и запуске MySQL в первый раз вы можете столкнуться с определенными ошибками, которые мешают серверу MySQL начиная.
Ваш первый ресурс при устранении неполадок с сервером — это
журнал ошибок. Сервер MySQL
использует журнал ошибок для записи информации, относящейся к ошибке
что мешает запуску сервера. Журнал ошибок находится
в каталоге данных
указанный в вашем файле my.ini
. По умолчанию
расположение каталога данных: C:\Program Files\MySQL\MySQL
Сервер 5.7\данные
или C:\ProgramData\Mysql
в Windows 7 и Windows
Сервер 2008.
скрыт по умолчанию. Вам нужно изменить параметры папки, чтобы увидеть
каталог и содержимое. Дополнительные сведения о журнале ошибок
и понять содержание, см. Журнал ошибок.
Информацию о возможных ошибках см. также в
консольные сообщения, отображаемые при запуске службы MySQL. Использовать СК СТАРТ mysqld_service_name
или ЧИСТЫЙ СТАРТ mysqld_service_name
команда
из командной строки после установки mysqld в качестве службы для просмотра любых сообщений об ошибках, связанных с запуском
сервер MySQL как сервис.
В следующих примерах показаны другие распространенные сообщения об ошибках, которые вы можете столкнуться при установке MySQL и запуске сервера для первый раз:
Если сервер MySQL не может найти
mysql
базу данных привилегий или другие важные файлы, он отображает эти Сообщения:Произошла системная ошибка 1067. Неустранимая ошибка: невозможно открыть и заблокировать таблицы привилегий: Таблица «mysql.user» не существует
Эти сообщения часто появляются, когда база или данные MySQL каталоги установлены в разных местах, чем расположения по умолчанию (
C:\Program Files\MySQL\MySQL Сервер 5.7
иC:\Program Файлы\MySQL\MySQL Server 5.7\data
, соответственно).Такая ситуация может возникнуть при обновлении и установке MySQL. в новое место, но файл конфигурации не обновляется чтобы отразить новое местоположение. Кроме того, старые и новые файлы конфигурации могут конфликтовать. Обязательно удалите или переименуйте все старые файлы конфигурации при обновлении MySQL.
Если вы установили MySQL в каталог, отличный от
C:\Program Files\MySQL\Сервер MySQL 5.7
убедитесь, что сервер MySQL зная об этом, используя конфигурацию (my.ini
). Положитефайл my.ini
в вашем каталоге Windows, обычноC:\WINDOWS
. Чтобы определить его точное местоположение из значенияWINDIR
переменная среды, введите следующую команду из командная строка:C:\> эхо %WINDIR%
Вы можете создать или изменить файл опций в любом текстовом редакторе, например Блокнот. Например, если MySQL установлен в
E:\mysql
и каталог данныхD:\MySQLdata
, вы можете создать опцию файл и настройте раздел[mysqld]
для указать значения дляна основе
иdatadir
опции:[mysqld] # установить baseir на ваш путь установки на основедир=E:/mysql # установить datadir в папку с вашим каталогом данных datadir=D:/MySQLdata
Имена путей Microsoft Windows указываются в файлах опций. используя (прямую) косую черту, а не обратную косую черту. Если вы используете обратную косую черту, удвойте их:
[mysqld] # установить baseir на ваш путь установки baseir=C:\\Program Files\\MySQL\\MySQL Server 5.7 # установить datadir в папку с вашим каталогом данных datadir=D:\\MySQLdata
Приведены правила использования обратной косой черты в значениях файла опций. в разделе Использование файлов опций.
Если вы измените значение
datadir
в вашем MySQL файл конфигурации, необходимо переместить содержимое существующего Каталог данных MySQL перед перезапуском сервера MySQL.См. Раздел 5.4.2, «Создание файла опций».
Если вы переустанавливаете или обновляете MySQL без предварительной остановки и удаление существующей службы MySQL и установка MySQL с помощью установщик MySQL, вы можете увидеть эту ошибку:
Ошибка: не удается создать службу Windows для MySql. Ошибка: 0
Это происходит, когда мастер настройки пытается установить service и находит существующую службу с таким же именем.
Одним из решений этой проблемы является выбор другого имени службы. чем
mysql
при использовании конфигурации волшебник. Это позволяет установить новую службу правильно, но оставляет устаревший сервис на месте. Несмотря на то что это безвредно, лучше удалить старые сервисы, которые больше не используется.Чтобы навсегда удалить старый
mysql
сервис, выполните следующую команду от имени пользователя с административные привилегии, в командной строке:C:\> SC УДАЛИТЬ mysql [SC] УДАЛИТЬСЕРВИС УСПЕШНО
Если утилита
SC
недоступна для вашего версию Windows, скачайтеdelsrv
полезность от http://www. microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp и использоватьdelsrv синтаксис mysql
.
НАЗАД ДОМ ВВЕРХ ДАЛЕЕ
9.2.1 Устранение неполадок при запуске сервера MySQL
9.2.1 Устранение неполадок при запуске сервера MySQL
В этом разделе приведены рекомендации по устранению неполадок запуск сервера. Дополнительные предложения для Windows систем см. Раздел 5.5, «Устранение неполадок при установке Microsoft Windows MySQL Server».
Если у вас возникли проблемы с запуском сервера, вот некоторые вещи пытаться:
Проверьте журнал ошибок, чтобы посмотреть почему сервер не запускается. Файлы журнала находятся в данные каталог (обычно
C:\Program Файлы\MySQL\MySQL Server 5.7\data
на Windows,/usr/local/mysql/data
для Двоичный дистрибутив Unix/Linux и/usr/местный/var
для источника Unix/Linux распределение). Найдите в каталоге данных файлы с названия формыимя_хоста
.ошибкаhost_name
.loghost_name
имя хост вашего сервера. Затем просмотрите последние несколько строк этих файлы. Используйте хвост$> хвост host_name .err $> хвост host_name .log
Укажите любые специальные параметры, необходимые для механизмов хранения. ты используешь. Вы можете создать
my.cnf
файл и укажите параметры запуска для движков, которые вы планирую использовать. Если вы собираетесь использовать механизмы хранения, которые поддержка транзакционных таблиц (InnoDB
,NDB
), убедитесь, что у вас есть их настроить так, как вы хотите, перед запуском сервера. Если вы используетеТаблицы InnoDB
, см. Конфигурация InnoDB для рекомендаций и Параметры запуска InnoDB и системные переменные для синтаксиса параметров.Хотя механизмы хранения используют значения по умолчанию для параметров, которые вы опускаете, Oracle рекомендует просмотреть доступные параметры и указать явные значения для любых параметров, значения по умолчанию не подходят для вашей установки.
Убедитесь, что сервер знает, где найти каталог данных. сервер mysqld использует этот каталог как его текущий каталог. Вот где он ожидает найти базы данных и где он ожидает записи файлов журнала. сервер также записывает файл pid (идентификатор процесса) в данные каталог.
Расположение каталога данных по умолчанию жестко закодировано, когда сервер собран. Чтобы определить, какой путь по умолчанию настройки, вызовите mysqld с параметром
--подробный
и--help
вариантов. Если данные каталог находится где-то еще в вашей системе, укажите то место с--datadir
опция для mysqld или mysqld_safe , в командной строке или в файле параметров. В противном случае сервер работает некорректно. В качестве альтернативы--datadir
вариант, вы можете укажите mysqld расположение базы каталог, в котором установлен MySQL с--основано на
и mysqld ищеткаталог данных
есть.Чтобы проверить эффект от указания параметров пути, вызовите mysqld с этими параметрами, за которыми следует
--подробный
и--help
вариантов. Например, если вы измените местоположение на каталог, где mysqld установлен, а затем запустите следующей команды, он показывает эффект запуска сервер с базовым каталогом/usr/местный
:$> ./mysqld --basedir=/usr/local --verbose --help
Вы можете указать другие параметры, такие как
--datadir
тоже, но--подробный
и--help
должен быть последним опции.Как только вы определите нужные параметры пути, запустите сервер без
--verbose
и--помощь
.Если в данный момент запущен mysqld , вы можете узнать, какие настройки пути он использует, выполнив это команда:
$> переменные mysqladmin
Или же:
$> mysqladmin -h host_name переменные
host_name
имя Хост сервера MySQL.Убедитесь, что сервер может получить доступ к каталог данных. Владение и разрешения каталога данных и его содержимое должно позволять серверу читать и изменять их.
Если вы получаете
Errcode 13
(что означаетОтказано в доступе
) при запуске mysqld , это означает, что привилегии каталог данных или его содержимое не позволяют серверу доступ. В этом случае вы меняете разрешения для задействованные файлы и каталоги, чтобы сервер имел право на их использование. Вы также можете запустить сервер какroot
, но это вызывает проблемы с безопасностью и необходимо избегать.Измените местоположение на каталог данных и проверьте владение каталогом данных и его содержимым, чтобы сделать Убедитесь, что сервер имеет доступ. Например, если данные каталог
/usr/local/mysql/var
, используйте эта команда:$> ls -la /usr/local/mysql/var
Если каталог данных или его файлы или подкаталоги не принадлежит учетной записи, которую вы используете для запуска server, измените своего владельца на эту учетную запись. Если учетная запись называется
mysql
, используйте эти команды:$> chown -R mysql /usr/local/mysql/var $> chgrp -R mysql /usr/local/mysql/var
Даже при правильном владении MySQL может не запуститься, если в вашей системе работает другое программное обеспечение безопасности, которое управляет доступом приложений к различным частям файла система. В этом случае перенастройте это программное обеспечение, чтобы включить mysqld для доступа к используемым каталогам во время нормальной работы.
Убедитесь, что сетевые интерфейсы, которые сервер хочет использовать доступны.
Если возникает одна из следующих ошибок, это означает, что некоторые другая программа (возможно другая mysqld сервер) использует порт TCP/IP или файл сокета Unix, который mysqld пытается использовать:
Не удается запустить сервер: привязка к порту TCP/IP: адрес уже используется Не удается запустить сервер: привязка к сокету unix...
Используйте ps , чтобы определить, есть ли у вас другой mysqld сервер запущен. Если так, выключите сервер перед запуском mysqld снова . (Если другой сервер работает, и вы действительно хотите запустить несколько серверов, вы можно найти информацию о том, как это сделать в Запуск нескольких экземпляров MySQL на одном компьютере. )
Если никакой другой сервер не запущен, выполните команду
телнет
. (Номер порта MySQL по умолчанию — 3306.) Затем нажмите Enter a пару раз. Если вы не получили сообщение об ошибке, напримерваше_имя_хоста
номер_порта_ip_tcp
telnet: невозможно подключиться к удаленному хосту: Соединение отклонено
, какая-то другая программа использует порт TCP/IP, к которому пытается подключиться mysqld использовать. Отследите, что это за программа и отключите ее, или скажите mysqld для прослушивания другого порта с--опция порта
. В этом случае укажите тот же номер порта не по умолчанию для клиента программ при подключении к серверу по протоколу TCP/IP.Другая причина, по которой порт может быть недоступен, заключается в том, что вы иметь работающий брандмауэр, который блокирует подключения к нему.