Mysql restart debian: Как перезапустить MySQL сервер в Linux
Перезапуск MySQL
MySQL — это самая популярная система баз данных, которая используется для обеспечения работы большинства сайтов. Пока вы размещаете свой сайт на хостинге, вам нет необходимости думать о её настройке или своевременной перезагрузке, потому что этим занимаются системные администраторы хостинга. Но когда вы переберётесь на VPS, это всё будет уже в зоне вашей ответственности.
В этой статье мы рассмотрим, как выполняется перезапуск MySQL в разных дистрибутивах Linux, а также как сделать, чтобы MySQL перезапускалась автоматически после падения.
Содержание статьи:
Перезапуск MySQL или MariaDB
В большинстве современных дистрибутивов, а особенно тех, что используются для работы серверов, для управления службами применяют Systemd. Именно с её помощью мы будем перезапускать движок баз данных. Ещё один момент, с которым нужно определиться, — это название юнит-файла MySQL. В зависимости от версии и дистрибутива оно может отличаться:
- mysql-server;
- mariadb-server;
- mysql;
- mariadb;
- mariadbd
- mysqld;
Вы можете попробовать использовать эти варианты, чтобы найти тот, что используется в вашей системе; последние версии Ubuntu понимают несколько имен MySQL. Таким образом, для MariaDB и выше перезапуск MySQL Сentos и Ubuntu не отличается. Просто попробуйте узнать состояние сервиса, если вы выбрали правильное название, то увидите что-то вроде этого:
А если нет, то:
Выполнить частичную перезагрузку только с обновлением конфигурации, так как это делалось в Apache и Nginx вы не сможете. Здесь необходимо полностью перезагружать сервис:
sudo systemctl restart mysql
В некоторых случаях необходимо полностью остановить работающий сервис, а потом запустить его заново. Для этого используем команду stop, затем start:
sudo systemctl stop mysql
sudo systemctl start mysql
Автоматический перезапуск MySQL
Из-за проблем с памятью на сервере или других ошибок MySQL может завершить свою работу. Это очень неприятное обстоятельство, поскольку вы не можете всегда следить за сервером, а когда такое случиться, ваш сайт будет недоступен для пользователей на протяжении долгого времени.
В systemd есть возможность, которая позволяет делать рестарт MySQL сразу же после того, как он неожиданно завершился. Для этого необходимо добавить такую строчку в конфигурацию юнит-файла MySQL:
Restart=always
Но обратите внимание, что редактировать файлы юнитов в папке /usr нельзя, потому что во время обновления они могут быть перезаписаны, можно только в /etc, и желательно создавать отдельный файл. Можно поступить проще: используйте команду systemctl edit:
sudo systemctl edit mariadb
[Service]
Restart=always
Сохраните изменения. Эти строки будут записаны в виде отдельного файла, который автоматически подключается к основному.
Выводы
В этой статье мы рассмотрели, как перезапустить MySQL для обновления конфигурации, а также как настроить автоматический перезапуск службы после возникновения ошибок. Если у вас остались вопросы, спрашивайте в комментариях!
youtube.com/embed/SHFZ86fyjJ8?feature=oembed» frameborder=»0″ allow=»autoplay; encrypted-media» allowfullscreen=»»/>
Оцените статью:
Загрузка…
Не запускается MYSQL в чем причина? — Хабр Q&A
Сейчас выдает такие ошибки [….] Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See «systemctl status mysql.service» and «journalctl -xe» for details.
failed!
root@broadband:/var/lib/mysql# journalctl -xe
авг 03 16:23:03 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=212.34.248.214 DST=188.32.114.207 LEN=40 TOS=0x00 PREC=
авг 03 16:23:10 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=83.220.237.132 DST=188.32.114.207 LEN=40 TOS=0x08 PREC=
авг 03 16:23:10 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=83. 220.237.132 DST=188.32.114.207 LEN=40 TOS=0x08 PREC=
авг 03 16:23:11 broadband sudo[6000]: root : TTY=pts/0 ; PWD=/var/lib/mysql ; USER=root ; COMMAND=/etc/init.d/mysql start
авг 03 16:23:11 broadband sudo[6000]: pam_unix(sudo:session): session opened for user root by serveradmin(uid=0)
авг 03 16:23:11 broadband systemd[1]: Starting LSB: Start and stop the mysql database server daemon…
— Subject: Начинается запуск юнита mysql.service
— Defined-By: systemd
— Support: lists.freedesktop.org/mailman/listinfo/systemd-devel
—
— Начат процесс запуска юнита mysql.service.
авг 03 16:23:11 broadband mysql[6017]: * Starting MariaDB database server mysqld
авг 03 16:23:14 broadband mysqld_safe[6622]: Starting mysqld daemon with databases from /var/lib/mysql
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Warning] ‘THREAD_CONCURRENCY’ is deprecated and will be removed in a future release.
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Warning] ‘THREAD_CONCURRENCY’ is deprecated and will be removed in a future release.
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Note] /usr/sbin/mysqld (mysqld 10.0.33-MariaDB-0ubuntu0.16.04.1) starting as process 6626 …
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [ERROR] mysqld: File ‘/var/log/mysql/mysql-bin.index’ not found (Errcode: 13 «Permission denied»)
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [ERROR] Aborting
авг 03 16:23:14 broadband mysqld[6627]:
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Note] /usr/sbin/mysqld: Shutdown complete
авг 03 16:23:14 broadband mysqld[6627]:
авг 03 16:23:14 broadband mysqld_safe[6630]: mysqld from pid file /var/run/mysqld/mysqld.pid ended
авг 03 16:23:20 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=188.92.20.98 DST=188.32.114.207 LEN=40 TOS=0x00 PREC=0x
авг 03 16:23:24 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=195.38.23.96 DST=188. 32.114.207 LEN=52 TOS=0x00 PREC=0x
авг 03 16:23:43 broadband CRON[5928]: pam_unix(cron:session): session closed for user root
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: 0 processes alive and ‘/usr/bin/mysqladmin —defaults-file=/etc/mysql/debian.cnf ping’ resulted in
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: [61B blob data]
авг 03 16:23:43 broadband mysql[6017]: …fail!
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (111 «Connection refused»)’
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]:
авг 03 16:23:43 broadband systemd[1]: mysql.service: Control process exited, code=exited status=1
авг 03 16:23:43 broadband systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
— Subject: Ошибка юнита mysql.service
— Defined-By: systemd
— Support: lists.freedesktop.org/mailman/listinfo/systemd-devel
—
— Произошел сбой юнита mysql.service.
—
— Результат: failed.
авг 03 16:23:43 broadband systemd[1]: mysql.service: Unit entered failed state.
авг 03 16:23:43 broadband systemd[1]: mysql.service: Failed with result ‘exit-code’.
авг 03 16:23:43 broadband sudo[6000]: pam_unix(sudo:session): session closed for user root
Устанавливаем MySQL сервер на Debian 10
Автор: Skull
Статья написана 2020-04-09 12:10:35
Последние правки 2020-04-09 12:51:30
Официально в репозитории Debian Buster в качестве mysql-сервера указан mariadb. Но мы, как обычно, не ищем легких путей и хотим MySQL original! При установке можно будет выбрать версию Mysql — 5.7, 8, а также кластерные.
- Установка
Хотя Debian и переметнулся к mariadb, разработчики MySQL решили не оставлять его в покое и запилили свой официальный PPA, который мы и добавим в систему. Вначале идем сюда и ищем самую последнюю версию mysql-apt-config_*_all.deb. У меня это был файл mysql-apt-config_0.8.15-1_all.deb. Скачиваем и устанавливаем:
wget https://repo.mysql.com/mysql-apt-config_0.8.15-1_all.deb sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
В процессе установки можно выбрать нужную версию MySQL, по умолчанию была восьмая, но я поменял на 5.7. Если вдруг захочется что то снова поменять, то в этом поможет команда:sudo dpkg-reconfigure mysql-apt-config
Далее:# apt-get update # apt-get install mysql-server
Готово! MySQL установлен! Если вдруг служба не стартовала, то выполняем команду:# systemctl restart mysql
- Обязательно после установки!
Чистим всякую ненужную фигню средством от разработчиков:
# /usr/bin/mysql_secure_installation
В числе обязательного — задать пароль root и разрешить root заходить исключительно локально.
Связанные странички:
Cтавим MySQL 5.6 или 5.7 на Debian
Debian, репозитории
Asterisk 13 RealTime с MySQL
Debian. Установка и настройка owfs
Debian сервисы
Настройка сетевых интерфейсов в Debian
Raspberry Pi, Raspbian, mysql
Устанавливаем MySQL сервер (mariadb) на Raspbian Buster
Debian — Setting locale failed
Ставим Xvfb на Debian Jessie
Linux: systemctl — управление службами
Debian, начиная с 8 версии по умолчанию используется systemd
вместо init.d
, который использует unit-файлы из каталога /etc/systemd/system
, вместо скриптов в /etc/init.d/
, как это делает init.d
.
Краткое перечисление полезных команд systemctl
.
Получение списка служб
Вывести на экран активные сервисы и их состояние:
# systemctl list-units -t service UNIT LOAD ACTIVE SUB DESCRIPTION acpid. service loaded active running ACPI event daemon atd.service loaded active running Deferred execution scheduler console-setup.service loaded active exited LSB: Set console font and keymap ... LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 32 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
Что бы убрать «легенду» внизу списка — используйте --no-legend
.
Что бы вывести все сервисы — используйте--all
:
# systemctl list-units -t service --all ... 63 loaded units listed. ...
Управление службами
Проверить состояние отдельного сервиса:
# systemctl status mysql ● mysql. service - LSB: Start and stop the mysql database server daemon Loaded: loaded (/etc/init.d/mysql) Active: active (running) since Sun 2016-04-24 10:30:32 GMT; 16min ago CGroup: /system.slice/mysql.service ├─3076 /bin/bash /usr/bin/mysqld_safe ├─3077 logger -p daemon.err -t /etc/init.d/mysql -i ├─3215 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-log-error --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 └─3216 logger -t mysqld -p daemon.error Apr 24 10:30:36 debian-jessie /etc/mysql/debian-start[3267]: mysql.time_zone_transition OK Apr 24 10:30:36 debian-jessie /etc/mysql/debian-start[3267]: mysql.time_zone_transition_type OK Apr 24 10:30:36 debian-jessie /etc/mysql/debian-start[3267]: mysql.user OK . ..
Запустить сервис:
# systemctl start mysql
Остановить:
# systemctl stop mysql
Перезагрузить конфигурацию сервиса:
# systemctl reload mysql
Перезапустить службу:
# systemctl restart mysql
Перезапустить, если она запущена:
# systemctl try-restart mysql
Выполнить reload
(конфигурации), если такая команда поддеживается — или перезапустить службу. Если служба остановлена — она будет запущена:
# systemctl reload-or-restart mysql
Убить службу:
# systemctl kill mysql
Больше по kill
см. тут>>>.
Проверить запущен и работает ли сервис:
# systemctl is-active mysql active
Или с помощью кода выполнения:
# systemctl is-active mysql; echo $? active 0
# systemctl is-active mysql --quiet; echo $? 0
Аналогично можно проверить были ли проблемы при запуске сервиса и запущен ли он в данный момент:
# systemctl is-failed mysql active # systemctl is-failed mysql --quiet; echo $? 1
Если сервис был корретно остановлен:
# systemctl is-failed mysql inactive
Управление автозапуском
Добавить в автозапуск:
# systemctl enable mysql
Убрать из автозапуска:
# systemctl disable mysql
Проверить — есть ли юнит в автозапуске:
# systemctl is-enabled sshd enabled
Аналогично примеру с is-active
— можно использовать is-enabled
:
# systemctl is-enabled sshd enabled
# systemctl is-enabled sshd --quiet; echo $? 0
Ссылки по теме
SysVinit to Systemd Cheatsheet
Getting Started with systemd
How To Use Systemctl to Manage Systemd Services and Units
Устраняем типичные ошибки в MySQL
MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.
Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.
Не удаётся подключиться к локальному серверу
Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».
Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld
) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.
Убедитесь, что сервер работает. Проверьте процесс с именем mysqld
на хосте сервера, используя команды ps или grep, как показано ниже.
$ ps xa | grep mysqld | grep -v mysqld
Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.
$ sudo systemctl start mysql #Debian/Ubuntu
$ sudo systemctl start mysqld #RHEL/CentOS/Fedora
Чтобы проверить состояние службы MySQL, используйте следующую команду:
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.
$ sudo systemctl restart mysql
$ sudo systemctl status mysql
Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.
Для поиска порта, который прослушивается сервером, используйте команду netstat
.
$ sudo netstat -tlpn | grep "mysql"
Не удаётся подключиться к серверу MySQL
Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.
Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).
Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:
ERROR 2003: Cannot connect to MySQL server on 'host_name' (111)
ERROR 2002: Cannot connect to local MySQL server through socket '/tmp/mysql.sock' (111)
Ошибки запрета доступа в MySQL
В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).
Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.
В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.
Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):
В консоли вводим команду:
mysql -u root -p
Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:
> SHOW GRANTS FOR 'tecmint'@'localhost';
Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).
Потеря соединения с сервером MySQL
С этой ошибкой можно столкнуться по одной из следующих причин:
- плохое сетевое соединение;
- истекло время ожидания соединения;
- размер BLOB больше, чем
max_allowed_packet
.
В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).
Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout
.
В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet
в файле конфигурации /etc/my.cnf
в разделах [mysqld]
или [client]
как показано ниже.
> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100';
> flush privileges;
Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.
[mysqld]
connect_timeout=100
max_allowed_packet=500M
Слишком много подключений
Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections
. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf
.
> SET GLOBAL connect_timeout=100;
> SET GLOBAL max_allowed_packet=524288000;
Недостаточно памяти
Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.
Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:
- если клиент MySQL используется напрямую, запустите его с ключом
--quick switch
, чтобы отключить кешированные результаты; - если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).
Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.
[mysqld]
max_connections=1000
MySQL продолжает «падать»
Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.
Вы можете проверить состояние сервера, чтобы определить, как долго он работал.
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin
.
$ sudo apt-get install mysqltuner #Debian/Ubuntu
$ sudo yum install mysqltuner #RHEL/CentOS/Fedora
$ mysqltuner
Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:
$ sudo mysqladmin version -p
Или
$ sudo mysqladmin -i 5 status
Заключение
Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:
- Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге
/var/log/mysql/
. Вы можете использовать утилиты командной строки вродеtail
для чтения файлов журнала. - Если служба MySQL не запускается, проверьте её состояние с помощью
systemctl
. Или используйте командуjournalctl
(с флагом-xe
) в systemd. - Вы также можете проверить файл системного журнала (например,
/var/log/messages
) на предмет обнаружения ошибок. - Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
- Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
- Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды:
mysqladmin -u root ping
илиmysqladmin -u root processlist
, чтобы получить от него ответ. - Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.
Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»
Изменение пароля MySQL в Debian с помощью учетной записи debian-sys-maint. — Мои записки о Linux.
1. Учетная запись debian-sys-maint.
В системах Debian существует (системный) пользователь MySQL debian-sys-maint, который используется сценариями инициализации системы для управления базой данных mysql, например, для запуска или остановки сервера mysql, проверки состояния. Пароль этого пользователя сохраняется в файле /etc/mysql/debian.cnf.
Файл выглядит следующим образом:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = <password>
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = <password>
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Если этот пароль не совпадает с фактическим паролем на сервере mysql, сценарии инициализации mysql не будут выполнены:
# /etc/init.d/mysql restart
* Остановка сервера базы данных MySQL mysqld [ fail ]
* Запуск MySQL-сервера базы данных mysqld [ OK ]
# /etc/init.d/mysql status
/ usr / bin / mysqladmin: подключение к серверу в ‘ localhost ‘ не удалось
error: ‘Доступ запрещен для пользователя’ debian-sys-maint ‘@’ localhost ‘(с использованием пароля: YES)’
Кроме того, попытка обновления сервера mysql завершится с ошибкой, например:
Fehler traten auf beim Bearbeiten von:
/ var / cache / apt / archives / mysql- server — 5. 1 _5.1.37-1ubuntu5.1_i386.deb
E: Подпроцесс / usr / bin / dpkg возвращает код ошибки ( 1 )
Чтобы устранить проблему, вам необходимо обновить пароль mysql для пользователя debian-sys-maint. Откроем файл /etc/mysql/debian.cnf:
# nano /etc/mysql/debian.cnf
[client]
host = localhost
user = debian-sys-maint
password = phV6nItAKmaltygX
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = phV6nItAKmaltygX
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Запишем пароль password = phV6nItAKmaltygX
Обновим пароль на сервере mysql (вам нужен доступ к mysql root):
# mysql -u root -p
# Then type MySQL root password
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘<phV6nItAKmaltygX>’;
2. Изменение пароля MySQL в Debian с помощью учетной записи debian-sys-maint.
Если пароль root пользователя сервера БД MySQL по каким то причинам был утерян то его всегда можно восстановить используя системную учетную запись сервера БД debian-sys-maint:
2.1. Получаем пароль.
# nano /etc/mysql/debian.cnf
[client]
host = localhost
user = debian-sys-maint
password = phV6nItAKmaltygX
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = phV6nItAKmaltygX
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
2.2. Получаем доступ к серверу MySQL.
# mysql -u debian-sys-maint -p
в качестве пароля вводим phV6nItAKmaltygX
2.3. Начинаем работать с базой mysql.
mysql> use mysql;
2.4. Обновляем пароль root пользователя сервера баз данных:
mysql>update user set password=PASSWORD(«newpass«) where User=’root’;
В этой команде необходимо изменить newpass на нужный нам пароль.
2.5. Обновляем привилегии и завершаем работу с сервером MySQL.
mysql>flush privileges;
mysql>quit
2.6. Пробуем получить доступ к серверу используя учетную запись root.
# mysql -u root -p
Вводим новый пароль.
ИСТОЧНИКИ.
Изменение пароля MySQL в Debian.
Ubuntu: Reset debian-sys-maint’s mysql password.
linux — mysql не запускается при запуске debian (systemd), но запуск вручную работает
У меня странная проблема с MySQL на сервере Debian (Jessie).
При перезапуске сервера systemd попытается запустить mysqld, но это не удастся (похоже, что порт 3306 уже используется, но я не понимаю, почему это так).
Однако, если я подключусь к серверу по SSH всего через несколько минут и запущу sudo systemctl start mysql
, все будет успешно.
Проблема может воспроизводиться каждый раз при перезапуске сервера.
У кого-нибудь уже была эта проблема, или у кого-нибудь есть предположение, что могло помешать правильному запуску MySQL? Я мог бы добавить задержку перед запуском MySQL после перезагрузки, но я хотел бы понять, что происходит, и на самом деле я даже не уверен, что это решит проблему.
Вот результат sudo systemctl status mysql -l
после перезагрузки:
● mysql.service - LSB: запускает и останавливает демон сервера базы данных mysql.
Загружено: загружено (/etc/init.d/mysql)
Активно: не удалось (Результат: код выхода) с пятницы 2017-09-01 21:54:44 CEST; 1мин 41с назад
Процесс: 581 ExecStart = / etc / init.d / mysql start (код = завершено, статус = 1 / ОТКАЗ)
01 сен 21:54:06 gimli systemd [1]: Запуск LSB: запуск и остановка демона сервера базы данных mysql ...
01 сен 21:54:44 gimli mysql [581]: Запуск сервера базы данных MySQL: mysqld. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . не смогли!
01 сен 21:54:44 gimli systemd [1]: mysql. service: процесс управления завершен, код = завершен, статус = 1
01 сентября 21:54:44 gimli systemd [1]: не удалось запустить LSB: запустить и остановить демон сервера базы данных mysql.
01 сен 21:54:44 gimli systemd [1]: Модуль mysql.служба перешла в состояние ошибки.
и соответствующий журнал из /var/log/mysql/error.log
170901 21:54:16 [Предупреждение] Использование уникального префикса опции myisam-recovery вместо myisam-recovery-options устарело и будет удалено в следующем выпуске. Вместо этого используйте полное имя.
170901 21:54:16 [Примечание] Плагин «FEDERATED» отключен.
170901 21:54:17 InnoDB: куча памяти InnoDB отключена
170901 21:54:17 InnoDB: мьютексы и rw_locks используют атомарные встроенные функции GCC
170901 21:54:17 InnoDB: сжатые таблицы используют zlib 1.2,8
170901 21:54:17 InnoDB: использование встроенного в Linux AIO
170901 21:54:17 InnoDB: инициализация буферного пула, размер = 128.0M
170901 21:54:17 InnoDB: завершена инициализация буферного пула
170901 21:54:17 InnoDB: самый поддерживаемый формат файла - Barracuda.
170901 21:54:22 InnoDB: ожидание запуска фоновых потоков
170901 21:54:23 InnoDB: 5.5.57 запущен; порядковый номер журнала 351234412
170901 21:54:23 [Примечание] Имя хоста сервера (адрес привязки): '192.168.1.14'; порт: 3306
170901 21:54:23 [Примечание] - '192.168.1.14 'преобразуется в' 192.168.1.14 ';
170901 21:54:23 [Примечание] Серверный сокет создан на IP: 192.168.1.14.
170901 21:54:23 [ОШИБКА] Невозможно запустить сервер: привязка к порту TCP / IP: невозможно назначить запрошенный адрес
170901 21:54:23 [ОШИБКА] У вас уже есть другой сервер mysqld, работающий на порту: 3306?
170901 21:54:23 [ОШИБКА] Прерывание
170901 21:54:23 InnoDB: запуск выключения ...
170901 21:54:24 InnoDB: завершение работы; порядковый номер журнала 351234412
170901 21:54:24 [Примечание] / usr / sbin / mysqld: Завершение работы
Однако, если я запускаю sudo systemctl start mysql
вручную, он работает правильно:
170901 22:01:36 [Предупреждение] Использование уникального префикса опции myisam-recovery вместо myisam-recovery-options устарело и будет удалено в следующем выпуске. Вместо этого используйте полное имя.
170901 22:01:36 [Примечание] Плагин «FEDERATED» отключен.
170901 22:01:36 InnoDB: куча памяти InnoDB отключена
170901 22:01:36 InnoDB: мьютексы и rw_locks используют атомарные встроенные функции GCC
170901 22:01:36 InnoDB: сжатые таблицы используют zlib 1.2.8
170901 22:01:36 InnoDB: использование встроенного в Linux AIO
170901 22:01:36 InnoDB: инициализация буферного пула, размер = 128.0M
170901 22:01:36 InnoDB: завершена инициализация буферного пула
170901 22:01:36 InnoDB: самый высокий поддерживаемый формат файла - Barracuda.170901 22:01:36 InnoDB: ожидание запуска фоновых потоков
170901 22:01:37 InnoDB: 5.5.57 запущен; порядковый номер журнала 351234412
170901 22:01:37 [Примечание] Имя хоста сервера (адрес привязки): '192.168.1.14'; порт: 3306
170901 22:01:37 [Примечание] - «192.168.1.14» преобразуется в «192.168.1.14»;
170901 22:01:37 [Примечание] Серверный сокет создан на IP: 192.168.1.14.
170901 22:01:37 [Примечание] Планировщик событий: загружено 0 событий
170901 22:01:37 [Примечание] / usr / sbin / mysqld: готов к подключению.
Версия: '5.5.57-0 + deb8u1' сокет: '/ var / run / mysqld / mysqld.порт sock: 3306 (Debian)
Насколько мне известно, сценарий systemd не был изменен (это тот, который поставляется с пакетом Debian mysql), и, насколько мне известно, он никогда не работал правильно. Порт 3306 не должен использоваться другим процессом.
Как запустить, остановить и перезапустить сервер базы данных MySQL?
В этом посте мы увидим, как запускать, останавливать и перезапускать MySQL Server в macOS, Linux и Windows.
1. На Mac
Вы можете запускать / останавливать / перезапускать сервер MySQL через командную строку.
- Для версии MySQL старше 5.7:
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server перезапуск
- Для MySQL версии 5.7 и новее:
sudo launchctl load -F /Library/LaunchDaemons/com. oracle.oss.mysql.mysqld.plist
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
- Или вы можете включить / выключить его через панель настроек macOS
Есть еще один способ использовать DBngin , бесплатную утилиту для установки и управления несколькими серверами баз данных на Mac.
- Чтобы включить / выключить, достаточно одного щелчка мышки на панели управления сервером:
2. В Linux
- В Linux запуск / остановка из командной строки:
/ etc / init.d / mysqld start
/etc/init.d/mysqld стоп
/etc/init.d/mysqld перезапуск
- Некоторые разновидности Linux также предлагают служебную команду
запуск службы mysqld
остановка службы mysqld
перезапуск службы mysqld
запуск службы MySQL
служба mysql stop
перезапуск службы mysql
3. В Windows
- Открыть окно запуска с помощью
Winkey + R
- Тип
services.msc
- Служба поиска MySQL в зависимости от установленной версии.
- Нажмите «Остановить», «запустить» или перезапустить опцию обслуживания.
Или вы можете запустить / остановить MySQL из командной строки:
C: \> «C: \ Program Files \ MySQL \ MySQL Server 8.0 \ bin \ mysqld»
C: \> "C: \ Program Files \ MySQL \ MySQL Server 8.0 \ bin \ mysqladmin" -u root shutdown
Нужен хороший инструмент с графическим интерфейсом для MySQL в MacOS и Windows? TablePlus — это современный собственный инструмент с элегантным графическим интерфейсом, который позволяет одновременно управлять несколькими базами данных, такими как MySQL, PostgreSQL, SQLite, Microsoft SQL Server и другими.
Загрузить TablePlus для Mac . В любом случае это бесплатно!
Не на Mac? Загрузите TablePlus для Windows .
4.3 mysql.server — сценарий запуска сервера MySQL
4.3 mysql.server — сценарий запуска сервера MySQL
Дистрибутивы MySQL для Unix и Unix-подобных систем включают
скрипт с именем mysql.server , который запускает
Сервер MySQL с использованием mysqld_safe .Это может быть
используется в таких системах, как Linux и Solaris, которые используют System
Каталоги запуска в стиле V для запуска и остановки системных служб. это
также используется элементом запуска macOS для MySQL.
mysql.server — используемое имя сценария
в дереве исходного кода MySQL. Установленное имя может быть
разные (например, mysqld или
mysql ). В следующем обсуждении настройте
имя mysql.сервер в зависимости от вашего
система.
Примечание
Для некоторых платформ Linux установка MySQL из RPM или
Пакеты Debian включают поддержку systemd для управления MySQL
запуск и завершение работы сервера. На этих платформах
mysql.server и
mysqld_safe не установлены, потому что они
не нужны. Для получения дополнительной информации см.
Управление сервером MySQL с помощью systemd.
Чтобы запустить или остановить сервер вручную с помощью
MySQL.server , вызовите его из
командная строка с начало
или
стоп
аргументов:
mysql.server start
mysql.server stop
mysql.server изменяет местоположение на MySQL
каталог установки, затем вызывает
mysqld_safe . Чтобы запустить сервер как некоторую
конкретного пользователя, добавьте соответствующую опцию пользователя
в группу [mysqld]
глобального
/ etc / my.cnf
файл опций, как показано далее в
эта секция. (Возможно, вам придется отредактировать
mysql. server , если вы установили двоичный файл
распространение MySQL в нестандартном месте. Измените его на
измените местоположение в соответствующий каталог перед запуском
mysqld_safe . Если вы это сделаете, ваш измененный
версия mysql.server может быть перезаписана, если
вы обновляете MySQL в будущем; сделайте копию вашего отредактированного
версия, которую можно переустановить.)
mysql.server stop останавливает сервер, отправляя
сигнал к нему. Вы также можете остановить сервер вручную,
выполнение mysqladmin shutdown .
Чтобы запускать и останавливать MySQL автоматически на вашем сервере, вы должны
добавьте команды запуска и остановки в соответствующие места в вашем
/ etc / rc *
файлов:
Если вы используете пакет RPM сервера Linux
(MySQL-сервер-
),ВЕРСИЯ
. об / мин
или установка собственного пакета Linux,
mysql.server сценарий может быть установлен в
каталог/etc/init.d
с именем
mysqld
илиmysql
.
См. Установка MySQL в Linux с использованием пакетов RPM от Oracle, чтобы узнать больше.
информация о пакетах Linux RPM.Если вы устанавливаете MySQL из исходного дистрибутива или используете
двоичный формат распространения, который не устанавливается
MySQL.сервер автоматически, вы можете
установить скрипт вручную. Его можно найти в
support-files Каталог
в MySQL
каталог установки или в дереве исходных текстов MySQL. Скопируйте
скрипт в каталог/etc/init.d
с именем mysql и сделайте его
исполняемый файл:cp mysql. server /etc/init.d/mysql chmod + x /etc/init.d/mysql
После установки скрипта команды, необходимые для активации
его запуск при запуске системы зависит от вашей операционной системы.В Linux вы можете использовать chkconfig :chkconfig - добавить mysql
В некоторых системах Linux следующая команда также кажется
необходимо полностью включить mysql
сценарий:chkconfig - уровень 345 MySQL на
Во FreeBSD сценарии запуска обычно должны быть
/usr/local/etc/rc.d/
. Установите
MySQL.сервер
скрипт как
/usr/local/etc/rc.d/mysql.server.sh с
до
включить автоматический запуск.RC (8)
на странице руководства указано, что сценарии в этом каталоге
выполняется, только если их базовое имя совпадает с
* . sh
шаблон имени файла оболочки. Любой другой
файлы или каталоги, присутствующие в каталоге, являются
молча игнорируется.В качестве альтернативы предыдущей настройке некоторые рабочие
системы также используют/ etc / rc.местный
или
/etc/init.d/boot.local
для запуска
дополнительные услуги при запуске. Чтобы запустить MySQL с помощью этого
метод, добавьте команду, подобную следующей, к
соответствующий файл запуска:/ bin / sh -c 'cd / usr / local / mysql; ./bin/mysqld_safe --user = mysql & '
Для других систем обратитесь к вашей операционной системе
документацию, чтобы узнать, как установить сценарии запуска.
mysql.server считывает параметры из
[mysql.server]
и
[mysqld]
разделов файлов опций. Для
обратная совместимость, также читается
[mysql_server]
разделов, но должны быть текущими
вы должны переименовать такие разделы в
[сервер mysql]
.
Вы можете добавить параметры для mysql.server в
файл global /etc/my.cnf
.Типичный
my.cnf Файл
может выглядеть так:
[mysqld]
datadir = / usr / локальный / mysql / var
сокет = / var / tmp / mysql.sock
порт = 3306
пользователь = MySQL
[mysql.server]
basedir = / usr / local / mysql
Сценарий mysql.server поддерживает параметры
показано в следующей таблице. Если указано, они
необходимо поместить в файл опций, а не в
командная строка. mysql.server поддерживает только
начало
и останов
как
аргументы командной строки.
Таблица 4. 2 Параметры файла параметров mysql.server
Название опции | Описание | Тип |
---|---|---|
на основе | Путь к каталогу установки MySQL | Имя каталога |
datadir | Путь к каталогу данных MySQL | Имя каталога |
pid-файл | Файл, в который сервер должен записывать свой идентификатор процесса | Имя файла |
тайм-аут запуска службы | Как долго ждать запуска сервера | Целое число |
на основе ir =
dir_name
Путь к каталогу установки MySQL.
datadir =
dir_name
Путь к каталогу данных MySQL.
pid-file =
имя_файла
Путь к файлу, в который сервер должен писать
его идентификатор процесса. Сервер создает файл в данных
каталог, если не указан абсолютный путь, чтобы указать
другой каталог.Если этот параметр не указан, mysql.server
использует значение по умолчанию
имя_хоста
.pid
Значение файла PID передано в mysqld_safe
отменяет любое значение, указанное в
[mysqld_safe]
группа файлов опций. Так как
mysql.server читает
[mysqld]
файловая группа параметров, но не
[mysqld_safe]
group, вы можете убедиться, что
mysqld_safe получает то же значение, когда
вызывается из mysql. сервер , как при вызове
вручную поставив тот жеpid-файл
установка в[mysqld_safe]
и
[mysqld]
групп.тайм-аут запуска службы =
секунд
Как долго в секундах ждать подтверждения сервера
запускать. Если сервер не запускается в течение этого времени,
MySQL.сервер завершает работу с ошибкой. В
значение по умолчанию — 900. Значение 0 означает, что вообще не ждать.
для запуска. Отрицательные значения означают ждать вечно (нет
тайм-аут).
MySQL :: Справочное руководство MySQL 8.0 :: 13.7.8.8 RESTART Заявление
13.7.8.8 Заявление о перезапуске
ПЕРЕЗАПУСК
Этот оператор останавливает и перезапускает сервер MySQL. Это требует
привилегия SHUTDOWN
.
Одно использование RESTART
— это когда он
невозможно или удобно получить доступ из командной строки к
Сервер MySQL на хосте сервера, чтобы перезапустить его. Например,
НАБОР
можно использовать во время выполнения для создания
PERSIST_ONLY
изменения конфигурации системных переменных, которые могут быть установлены только
при запуске сервера, но сервер все равно должен быть перезапущен для
эти изменения вступят в силу. В
RESTART Оператор
предоставляет способ
сделать это из клиентских сеансов, не требуя
доступ из командной строки на хосте сервера.
Примечание
После выполнения RESTART
оператор, клиент может ожидать, что текущее соединение будет
потерянный. Если автоматическое переподключение включено, соединение
восстанавливается после перезагрузки сервера. В противном случае
соединение необходимо восстановить вручную.
Успешная операция RESTART
требует, чтобы mysqld работал в
среда, в которой есть процесс мониторинга для обнаружения
завершение работы сервера для перезапуска:
При наличии процесса мониторинга,
RESTART
причины
mysqld для завершения так, чтобы
процесс мониторинга может определить, что он должен начать новый
экземпляр mysqld .Если процесс мониторинга отсутствует,
RESTART
завершается с ошибкой.
Эти платформы обеспечивают необходимую поддержку мониторинга для
RESTART
заявление:
Windows, когда mysqld запускается как
Служба Windows или автономная. ( mysqld
разветвляется, и один процесс действует как монитор для другого, что
действует как сервер. )Unix и Unix-подобные системы, использующие systemd или
mysqld_safe для управления
mysqld .
Чтобы настроить среду мониторинга таким образом, чтобы
mysqld включает
RESTART
заявление:
Установите среду
MYSQLD_PARENT_PID
в значение идентификатора процесса, который
запускает mysqld , перед запуском
mysqld .Когда mysqld выполняет завершение работы из-за
использование инструкцииRESTART
,
он возвращает код выхода 16.Когда процесс мониторинга обнаруживает код выхода 16, он
снова запускает mysqld . В противном случае он выходит.
Вот минимальный пример, реализованный в
Оболочка bash :
#! / Bin / bash
экспорт MYSQLD_PARENT_PID = $$
экспорт MYSQLD_RESTART_EXIT = 16
пока правда; делать
bin / mysqld параметры mysqld здесь
если [$? -ne $ MYSQLD_RESTART_EXIT]; тогда
перерыв
фи
выполнено
В Windows разветвление, используемое для реализации
RESTART
определяет
серверный процесс, к которому присоединиться для отладки труднее.К
облегчить это, запустив сервер с
--gdb
подавляет разветвление, в
в дополнение к другим его действиям, сделанным для настройки отладки
среда. В настройках без отладки
- no-monitor
можно использовать для
единственная цель — подавить разветвление процесса монитора. Для
сервер запущен либо с --gdb
или - no-monitor
, выполнение
RESTART
заставляет сервер
просто выйдите без перезапуска.
В
Com_restart
переменная состояния отслеживает количество
RESTART
операторов. Так как
переменные состояния инициализируются при каждом запуске сервера и выполняют
не сохраняется после перезапуска, Com_restart
обычно имеет нулевое значение, но может быть ненулевым, если
RESTART Выполнено
операторов
но не удалось.
ubuntu — проблема запуска и перезапуска mysql на ubuntu 16.04 сервер
Я установил mysql 5.7, но потом обнаружил, что мне нужен mysql 5.6, поэтому я удалил все связанные с mysql пакеты с
apt-get remove --purge mysql *
, поэтому его удалили. тогда я выдал:
apt-get установить mysql-server-5.6 mysql-client-5.6
, так что упомянутые пакеты были установлены.
но он не начинает использовать systemctl start mysql
или service mysql start
или даже перезапуск. результат такой:
перезапуск службы MySQL
или же
запуск службы mysql
или же
systemctl перезапустить mysql
или же
systemctl запустить mysql
возвращает:
Задание mysql.service завершилось неудачно, так как процесс управления завершился с кодом ошибки. См. "Systemctl status mysql.service" и "journalctl -xe" для подробностей.
но
статус systemctl mysql
возвращает
mysql.service - LSB: запуск и остановка демона сервера базы данных mysql.
Загружено: загружено (/ etc / init.d / mysql; Плохо; предустановка поставщика: включена)
Активно: не удалось (Результат: код выхода) с понедельника 2017-04-10 13:24:00 EDT; 29с назад
Документы: man: systemd-sysv-generator (8)
Процесс: 15820 ExecStart = / etc / init.d / mysql start (code = exited, status = 1 / FAILURE)
Основной PID: 1323 (код = выход, статус = 0 / УСПЕШНО)
10 апреля 13:23:30 сервер mysqld [15926]: 2017-04-10 13:23:30 15925 [Примечание] InnoDB: сжатые таблицы используют zlib 1. 2.8
10 апреля, 13:23:30 сервер mysqld [15926]: 2017-04-10 13:23:30 15925 [Примечание] InnoDB: использование встроенного в Linux AIO
10 апреля, 13:23:30 сервер mysqld [15926]: 2017-04-10 13:23:30 15925 [Примечание] InnoDB: Использование инструкций crc32 процессора
10 апреля, 13:23:30 сервер mysqld [15926]: 2017-04-10 13:23:30 15925 [Примечание] InnoDB: инициализация пула буферов, размер = 128.0M
10 апреля, 13:23:30 сервер mysqld [15926]: 2017-04-10 13:23:30 15925 [Примечание] InnoDB: завершена инициализация пула буферов
10 апр, 13:24:00 сервер mysql [15820]: ... сбой!
10 апр, 13:24:00 сервер systemd [1]: mysql.service: процесс управления завершен, код = завершен, статус = 1
10 апреля, 13:24:00 сервер systemd [1]: не удалось запустить LSB: запустить и остановить демон сервера базы данных mysql.
10 апр, 13:24:00 сервер systemd [1]: mysql.service: Устройство вошло в состояние ошибки.
10 апр, 13:24:00 сервер systemd [1]: mysql.service: Ошибка с результатом «код выхода».
что такое Не удалось запустить LSB: запустить и остановить демон сервера базы данных mysql.
перед установкой 5.6 версия 5.7 работала нормально, но теперь она такая.
, /var/log/mysql/errors.log
пуст, а это последние строки / var / log / syslog
10 апреля 13:23:30 сервер mysqld: 2017-04-10 13:23:30 15925 [Примечание] InnoDB: завершена инициализация пула буферов
10 апр, 13:23:30 сервер mysqld_safe: mysqld из файла pid / var / lib / mysql / server.pid закончился
10 апреля 13:24:00 сервер /etc/init.d/mysql[16277]: 0 процессов живы и '/ usr / bin / mysqladmin --defaults-file = / etc / mysql / debian.cnf ping' привело к
10 апреля 13:24:00 сервер /etc/init.d/mysql[16277]: # 007 / usr / bin / mysqladmin: не удалось подключиться к серверу на локальном хосте
10 апреля 13:24:00 сервер /etc/init.d/mysql[16277]: ошибка: 'Не удается подключиться к локальному серверу MySQL через сокет' /var/run/mysqld/mysqld.sock '(2)'
10 апреля 13:24:00 сервер /etc/init.d/mysql[16277]: Убедитесь, что mysqld запущен и сокет: '/ var / run / mysqld / mysqld. носок существует!
10 апреля 13:24:00 сервер /etc/init.d/mysql[16277]:
10 апр, 13:24:00 сервер mysql [15820]: ... сбой!
10 апр, 13:24:00 сервер systemd [1]: mysql.service: процесс управления завершен, код = завершен, статус = 1
10 апреля, 13:24:00 сервер systemd [1]: не удалось запустить LSB: запустить и остановить демон сервера базы данных mysql.
10 апр, 13:24:00 сервер systemd [1]: mysql.service: Устройство вошло в состояние ошибки.
10 апр, 13:24:00 сервер systemd [1]: mysql.service: Ошибка с результатом «код выхода».
вывод mysqld_safe
170410 13:33:28 mysqld_safe Запись в системный журнал.170410 13:33:28 mysqld_safe Запуск демона mysqld с базами данных из / var / lib / mysql
170410 13:33:28 mysqld_safe mysqld из файла pid /var/lib/mysql/server.pid завершился
а это мой /etc/mysql/my.cnf
а там нет /etc/my.cnf
#
# Файл конфигурации сервера базы данных MySQL.
#
# Вы можете скопировать это в один из:
# - "/etc/mysql/my.cnf" для установки глобальных параметров,
# - "~ / .my.cnf" для установки пользовательских опций.
#
# Можно использовать все длинные опции, которые поддерживает программа.# Запустить программу с помощью --help, чтобы получить список доступных опций, и с помощью
# --print-defaults, чтобы увидеть, что он действительно понимает и использует.
#
# Пояснения см.
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# Это будет передано всем клиентам mysql
# Сообщалось, что пароли должны быть заключены в галочки / кавычки
# особенно если они содержат символы "#" ...
# Не забудьте отредактировать /etc/mysql/debian.cnf при изменении местоположения сокета.
# Вот записи для некоторых конкретных программ
# Следующие значения предполагают, что у вас есть как минимум 32M RAM
! includeir / etc / mysql / conf.d /
Запуск
— сбой при запуске сервера mysql
В моем случае это была проблема с местом.
Проверьте, достаточно ли у вас места.
из /var/log/mysql/error.log
Я получил подсказки из двух строк:
2018-08-04T05: 25: 29.519139Z 0 [ОШИБКА] InnoDB: запись в файл ./ibtmp1failed по смещению 3145728, должно было быть записано 1048576 байт, было записано только 704512 $
2018-08-04T05: 25: 29.519145Z 0 [ОШИБКА] InnoDB: номер ошибки 28 означает «На устройстве не осталось места»
Я понял, что это проблема с пространством.
корень @ xxx: / home / user1 # df -h
Используемый размер файловой системы Доступность% Установлено на
udev 477M 0 477M 0% / dev
tmpfs 100M 11M 89M 11% / запуск
/ dev / mapper / server1 - osticket - vg-root 8.3G 7.9G 0100% /
tmpfs 497M 0 497M 0% / dev / shm
tmpfs 5.0M 0 5.0M 0% / запуск / блокировка
tmpfs 497M 0 497M 0% / sys / fs / cgroup
/ dev / vda1 472M 467M 0100% / загрузка
tmpfs 100M 0 100M 0% / run / user / 1000
Отсюда я мог видеть, что на виртуальном сервере не хватает места / dev / mapper / server1 - osticket - vg-root 8.3G 7.9G 0100% /
. И я подумал либо о миграции, либо о расширении виртуального диска, но решил сначала удалить ненужные файлы.
Итак, пришлось очистить кеш и ненужные файлы:
# apt-get clean
# apt-get -f autoremove
Затем не забудьте после этого удалить поврежденные файлы журнала mysql. Они будут сгенерированы снова при перезапуске mysql
.
# служба mysql stop
#cd / var / lib / mysql
#rm ib_logfile *
#service mysql start
Проверьте службу сервера mysql и, вероятно, она работает.
root @ server1-osticket: / var / lib / mysql # статус службы mysql
● mysql.сервис - Сервер сообщества MySQL
Загружено: загружено (/lib/systemd/system/mysql.service; включено; предустановка поставщика: включено)
Активен: активен (работает) с сб 2018-08-04 23:07:24 WAT; 7мин назад
Процесс: 1559 ExecStartPost = / usr / share / mysql / mysql-systemd-start post (code = exited, status = 0 / SUCCESS)
Процесс: 1549 ExecStartPre = / usr / share / mysql / mysql-systemd-start pre (код = завершен, статус = 0 / УСПЕХ)
Основной PID: 1558 (mysqld)
Заданий: 29
Память: 280,3 МБ
Процессор: 589 мс
CGroup: /system.slice/mysql.услуга
└─1558 / usr / sbin / mysqld
04 августа, 23:07:19 server1-osticket systemd [1]: Запуск Сервера сообщества MySQL ...
04 августа, 23:07:24 server1-osticket systemd [1]: запущен сервер сообщества MySQL.
корень @ server1-osticket: / var / lib / mysql #
Дело закрыто.
Я надеюсь, что это помогает.
Как перезапустить, остановить и запустить сервер MySQL или MariaDB в Linux
Ниже приводится ряд методов, которые вы можете использовать для запуска, остановки и перезапуска сервера базы данных MySQL или MariaDB, в зависимости от вашего дистрибутива Linux.
Чтобы перезапустить сервер MySQL или MariaDB в Linux, используйте одну из следующих команд:
sudo service mysql перезапуск
sudo service mysqld перезапуск
sudo /etc/init.d/mysql перезапуск
sudo /etc/init.d/mysqld перезапуск
sudo systemctl перезапустить mysqld
sudo /usr/local/etc/rc.d/mysql-server перезапуск
service mysql restart
Чтобы остановить сервер MySQL или MariaDB в Linux, используйте одну из следующих команд:
служба sudo mysql stop
служба sudo mysqld stop
sudo / etc / init.d / mysql stop
судо /etc/init.d/mysqld stop
sudo systemctl остановить mysqld
sudo /usr/local/etc/rc.d/mysql-server stop
service mysql stop
Чтобы запустить сервер MySQL или MariaDB в Linux, используйте одну из следующих команд:
служба sudo mysql start
служба sudo mysqld start
Судо /etc/init.d/mysql start
sudo / etc / init.d / mysqld start
sudo systemctl запуск mysqld
sudo /usr/local/etc/rc.