После обновления до 15.04 я получил массу удовольствия от знакомства с systemd. Я думаю, что у меня все работает, кроме как я не могу остановить mysql.service; команда systemctl просто зависает и mysql просто продолжает работать. Кто-нибудь еще испытывал это или мог знать, что происходит?
17
mysql.service
сценарий или вы сделали свой собственный?Ответы:
У меня была такая же проблема (обновление до 15.04, используя официальные файлы и конфиг).
Мне пришлось внести следующие изменения, чтобы иметь возможность остановить
mysql
демон вручнуюsytemctl
и автоматически при перезагрузке / выключении системы:Сделать
/etc/mysql/debian.cnf
читабельным дляmysql
пользователя сПредоставьте слегка измененный
mysql.service
файл:Укажите явную команду остановки, открыв скопированный файл в редакторе:
и добавив следующую строку под
[Service]
разделом:В Nano используйте Ctrl + O для сохранения (Linux way!), Ctrl + X для выхода.
Сделайте новый служебный файл известным системе:
источник
У меня была такая же проблема с Ubuntu 15.10 Desktop, и я нашел способ ее исправить:
Параметр log_error в /etc/mysql/mysql.conf.d/mysqld.cnf был закомментирован. После раскомментирования параметра systemd без проблем завершает работу mysqld.
источник
--log-syslog
опцию в журнал. Возможно причина: корневой файловой системой была btrfs.Ваша проблема - thread_pool_size. Если оно намного превышает количество ядер / потоков, вы не сможете правильно завершить работу, если не воспользуетесь командой mysqladmin shutdown.
Например: у вас 2-х ядерный процессор с 4-мя потоками. Если вы установите его 1-4 - он будет работать нормально. Если вы установите его на 16, как рекомендовано во многих «высокопроизводительных» блогах, он будет сбит с толку.
источник
У меня была похожая проблема, связанная с тем, что mysql / mariadb не удалось остановить по команде systemd , либо при завершении работы, либо при вызове вручную с помощью
sudo service mysql stop
.В моем случае я загружаю Ubuntu / Windows в режиме UEFI с двойной загрузкой, и эти ОС интерпретируют разное аппаратное время, поэтому обе ОС синхронизируются с интернет-серверами времени при запуске.
MySQL (и Mariadb) не удалось остановить, если аппаратное время изменилось во время работы.
Вам нужно отложить запуск MySQL до окончания временной синхронизации. В идеале это можно сделать, вставив временную зависимость с MySQL,
After: time-sync
но у меня это не сработало.Решение, которое сработало для меня (вы можете заменить mysql на mariadb для того же эффекта):
Отключить MySQL с
sudo systemctl disabled mysql.service
Создайте скрипт (убедитесь, что он исполняемый), который запустит mysql после некоторой задержки
/usr/bin/delay_mysql
с содержимым:Создайте сервис systemd для запуска вашего нового скрипта
/etc/systemd/system/delay_mysql.service
с содержимым:Зарегистрируйте новый сервис с
sudo systemctl enable delay_mysql.service
Это заставит ваш скрипт работать на многопользовательском уровне, который в Ubuntu равен 3,4,5.
источник
Просто при копировании
mysql.service
вы должны будете сделатьchmod
после.источник
в моем случае это было несоответствие пароля для пользователя обслуживания
debian-sys-maint
между одним входом/etc/mysql/debian.cnf
и одним в базе данных MySQL.Этот пользователь используется для выключения MySQL и других функций. После обновления MySQL может произойти несоответствие между файлом и базой данных. Это также может произойти, если вы переместите свою базу данных с одного MySQL на другой. Если вы будете импортировать все базы данных и пользователей из другого MySQL на другом компьютере, вам нужно будет повторно синхронизировать пароль пользователя (
debian-sys-maint
).Вам нужно сделать: проверить текущий пароль в файле Ubuntu / Debian:
Вы можете увидеть свой пароль, который система будет использовать здесь:
password = n4aSHUP04s1J32X5
Следующий шаг - обновить MySQL до того же пароля: Войдите в MySQL:
Введите свой пароль для доступа к MySQL
После этого больше не будет проблем с выключением, не нужно ждать 10 минут, не будет проблем с установкой приложений, использующих эту учетную запись, например phpmyadmin.
ОБНОВЛЕНИЕ: Так, к сожалению, это не решило проблему. Это сделало его случайным - иногда я могу остановить службу без проблем, в другой раз она остановится при остановке службы.
источник