Centos перезапуск mysql: Как перезапустить MySQL сервер в Linux
Содержание
Как перезапустить MySQL-сервер в Linux (Ubuntu, Debian, CentOS)
Наибольшее распространение дистрибутивы Linux имеют на серверах, а работа сервера чаще всего связана с использованием баз данных. Без базы данных невозможна работа любого динамического сайта, БД нужны для self-hosted сервисов и приложений. Тот же Home Asisstant использует БД для хранения исторических данных с сенсоров. В общем, если у вас есть сервер на Linux, то практически наверняка на нем запущен сервер MySQL.
И порой встречаются ситуации, когда сервер баз данных по какой-то причине подвисает и нуждается в перезагрузке.
Содержание
- 1 Что нам понадобится
- 2 Как перезагрузить SQL-сервер
- 2.1 Ubuntu / Debian
- 2.2 Fedora / CentOS
- 2.3 macOS
- 3 Заключение
Что нам понадобится
Для перезапуска сервера баз данных потребуется:
- SSH-подключение к серверу
Оставлю отсылку на свою старую статью про SSH на примере Raspberry Pi. - Административные доступы (root-права) к серверу
По умолчанию только администратор (пользовательroot
) имеет права на остановку или перезапуск системных процессов.
Если всего этого нет, то остается вариант с перезагрузкой сервера целиком: сделать это можно через административную панель хостинга (если речь идет об удаленном сервере в интернете) или просто нажав на кнопку Reset при наличии физического доступа.
Как перезагрузить SQL-сервер
Приведенные ниже команды выполняются с правами администратора — соответственно, нужно либо изначально залогиниться под пользователем root
, либо добавлять перед командой sudo
и затем ввести пароль от рута для подтверждения.
Ubuntu / Debian
В Ubuntu/Debian и системах на их основе можно использовать следующие команды для запуска, остановки и перезапуска SQL-сервера:
service mysql start service mysql stop service mysql restart
Альтернативный вариант №1:
/etc/init.d/mysql start /etc/init.d/mysql stop /etc/init.d/mysql restart
Альтернативный вариант №2:
systemctl start mysql systemctl stop mysql systemctl restart mysql
Fedora / CentOS
В Fedora/CentOS и системах на их основе (в частности, на популярной сборке BitrixVM для сайтов на базе «1С-Битрикс») команды немного отличаются — вместо mysql
нужно использовать mysqld
:
service mysqld start service mysqld stop service mysqld restart
Альтернативный вариант:
systemctl start mysqld.service systemctl stop mysqld.service systemctl restart mysqld.service
macOS
Если MySQL установлен на десктопной macOS через Homebrew, то для управления им можно использовать следующие команды в терминале:
brew services start mysql brew services stop mysql brew services restart mysql
При этом использовать sudo
не требуется — Homebrew всегда управляется из-под активного пользователя.
Заключение
Необходимость перезагрузки MySQL-сервера может ввести неопытного пользователя в ступор, но при знании азов работы в командной строке это не составляет проблемы. В различных версиях Linux команды для перезапуска запущенных процессов могут отличаться, так что пробуйте варианты пока какой-то из них не сработает.
php — Не запускается MySQL Server на CentOS
Случайно завершился процесс MySQL и служба mysqld больше не запускается.
При командах service mysqld start
и service mysqld restart
пишет:
Redirecting to /bin/systemctl start mysqld.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.serv
ice" and "journalctl -xe" for details.
Команда service mysqld status
Redirecting to /bin/systemctl status mysqld.service ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: failed (Result: start-limit) since Fri 2019-04-19 14:15:08 MSK; 6min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 2374 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exi ted, status=1/FAILURE) Process: 2352 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: Failed to start MySQL Server. Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: Unit mysqld.service entered failed state. Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: mysqld.
service failed. Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: mysqld.service holdoff time over, scheduling restart. Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: start request repeated too quickly for mysqld.service Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: Failed to start MySQL Server. Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: Unit mysqld.service entered failed state. Apr 19 14:15:08 CentOS-75-64-minimal systemd[1]: mysqld.service failed.
Если с админки isp входить в базы данных, ошибка:
Не удалось подключиться к базе данных '' Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Не знаю что делать, все способы перепробовала.
- php
- mysql
- база-данных
- centos
- mariadb
1
Скорее всего что-то не так с сокетом: либо его кто-то занял, либо его нет.
проверим:
lsof /var/lib/mysql/mysql.sock
ну если нет lsof, то нужное его поставить yum install lsof
в ответ получим либо что-то вроде:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 3930 mysql 4u unix 0xffff8800ba42cc00 0t0 42918 /var/lib/mysql/mysql.sock mysqld 3930 mysql 27u unix 0xffff88007f9eac00 0t0 931 /var/lib/mysql/mysql.sock mysqld 3930 mysql 77u unix 0xffff8802345dac00 0t0 42919 /var/lib/mysql/mysql.sock ...
тут видно кто занял сокет
и нужно завершить это приложение kill -9 *pid*
либо:
lsof: status error on /var/lib/mysql/mysql.sock: No such file or directory
…
значит его нет
можно его создать (если не от рута, то соответственно всё это через sudo
):
mkfifo /var/lib/mysql/mysql.sock chown -R mysql /var/lib/mysql/mysql.sock
ну и запустим:
service mysqld start
либо, если ЦентОС 7:
systemctl start mysqld
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Как перезапустить Apache и MySQL в CentOS/RHEL/Fedora/Scientific версии Linux
Автор Rajkumar Maurya
Время от времени нам требуется запускать, перезапускать или останавливать веб-сервер Apache или сервер MYSQL в CentOS. CentOS/Red Hat — самая популярная ОС Linux, используемая в коммерческих целях в качестве серверной операционной системы на предприятиях, в облачных средах и средах хостинга.
Здесь, в этом руководстве, вы узнаете команды, которые вы можете использовать в терминале CentOS для остановки/запуска или перезапуска MySQL или Apache в CentOS.
Приведенные ниже команды предназначены для работы конкретно на CentOS/RHEL (Red Hat)/Fedora на базе Linux версии 4.x/5.x/6.x или старше.
Команда для запуска Apache в CentOS
service httpd start
Команда Stop Apache
service httpd stop
Команда для перезагрузки 9 0005
перезапуск службы httpd
Теперь команды для последней версии CentOS 7.
x /RHEL (Red Hat)
Для запуска сервера Apache
systemctl start httpd.service
Команда остановки для Apache в CentOS 7
systemctl stop httpd.service
Команда перезапуска для Apache
systemctl перезапустить httpd.service
Как запустить/остановить или Перезапустите сервер MySQL в CentOS/RHEL/Fedora/Scientific Linux версии
Команды для запуска или остановки сервера MySQL или MariaDB в Centos 4.x, 5.x, 6.x или более ранних версиях
Для запуска MySQL в CetnOS используются следующие команды:
sudo service mysqld start или sudo /etc/init.d/mysqld start
Команды для остановки сервера MySQL
sudo service mysqld stop или sudo /etc/init.d/mysqld stop
Чтобы перезапустить сервер MYSQL
sudo service mysqld restart или sudo /etc/init.d/mysqld restart
Для последней версии CentOS 7.x используйте следующие команды
Последняя версия CentOS 7.x по умолчанию поставляется с пакетами MariaDB, но пользователь также может установить MySQL. Вот команды для обоих:
Для запуска MariaDB
systemctl start mariadb
Для MySQL команда будет:
systemctl start mysqld
9000 9 Чтобы остановить MySQL или MariaDB, введите команду: .
Для MariaDB:
systemctl stop mariadb
Для MySQL:
systemctl stop mysqld
Чтобы перезапустить службу базы данных MariaDB или MySQL, выполните следующие действия:
Для MySQL
MariaDBперезапуск systemctl mariadbДругие полезные ресурсы
- Как запустить, перезапустить и остановить сервер Apache и MySQL на Ubuntu
- Как изменить пароль пользователя MySQL в Linux
- Сравнение CentOS, Debian и Ubuntu
- Установите веб-сервер Apache на CentOS 7/6 с помощью одной команды
- Установите phpMyAdmin на Centos 7 и Centos 6
- Как установить пароль root-пользователя Ubuntu с помощью команды
Категории Как сделать Теги Centos, команды
Служба Mysql не запускается в centos 7
спросил
Изменено
7 месяцев назад
Просмотрено
7к раз
я установил сервер mysql-community-server на свой компьютер с CentOS 7. 9, его служба не запускается и выдает ошибку при запуске службы из-за того, что я также не могу запустить скрипт mysql_secure_installation
вот ошибка, с которой я столкнулся при запуске службы
systemctl запустить mysqld Задание для mysqld.service завершилось неудачно, так как процесс управления завершился с кодом ошибки. Подробности смотрите в разделах "systemctl status mysqld.service" и "journalctl -xe".
вот подробности журнала
tail -n 20 /var/log/mysqld.log 2021-11-30T09:38:45.003421Z 1 [Система] [MY-013576] [InnoDB] Началась инициализация InnoDB. 2021-11-30T09:38:45.045895Z 1 [ОШИБКА] [MY-012592] [InnoDB] Ошибка операционной системы номер 2 в файловой операции. 2021-11-30T09:38:45.045946Z 1 [ОШИБКА] [MY-012593] [InnoDB] Ошибка означает, что система не может найти указанный путь. 2021-11-30T09:38:45.045966Z 1 [ОШИБКА] [MY-012594] [InnoDB] Если вы устанавливаете InnoDB, помните, что вы должны создавать каталоги самостоятельно, InnoDB их не создает.2021-11-30T09:38:45.045981Z 1 [ОШИБКА] [MY-012646] [InnoDB] Файл ./ibdata1: 'open' вернул ошибку ОС 71. Невозможно продолжить работу 2021-11-30T09:38:45.045997Z 1 [ОШИБКА] [MY-012981] [InnoDB] Невозможно продолжить работу. 2021-11-30T09:38:50.955262Z 0 [Система] [MY-010116] [Сервер] /usr/sbin/mysqld (mysqld 8.0.27), начиная с процесса 55847 2021-11-30T09:38:51.008326Z 1 [Система] [MY-013576] [InnoDB] Началась инициализация InnoDB. 2021-11-30T09:38:51.036852Z 1 [ОШИБКА] [MY-012592] [InnoDB] Ошибка операционной системы номер 2 в файловой операции. 2021-11-30T09:38:51.036942Z 1 [ОШИБКА] [MY-012593] [InnoDB] Ошибка означает, что система не может найти указанный путь. 2021-11-30T09:38:51.036968Z 1 [ОШИБКА] [MY-012594] [InnoDB] Если вы устанавливаете InnoDB, помните, что вы должны создавать каталоги самостоятельно, InnoDB их не создает. 2021-11-30T09:38:51.036983Z 1 [ОШИБКА] [MY-012646] [InnoDB] Файл ./ibdata1: 'open' вернул ошибку ОС 71. Невозможно продолжить работу 2021-11-30T09:38:51.037057Z 1 [ОШИБКА] [MY-012981] [InnoDB] Невозможно продолжить работу.
2021-11-30T09:38:57.011572Z 0 [Система] [MY-010116] [Сервер] /usr/sbin/mysqld (mysqld 8.0.27), начиная с процесса 55900 2021-11-30T09:38:57.034554Z 1 [Система] [MY-013576] [InnoDB] Началась инициализация InnoDB. 2021-11-30T09:38:57.062981Z 1 [ОШИБКА] [MY-012592] [InnoDB] Ошибка операционной системы номер 2 в файловой операции. 2021-11-30T09:38:57.063054Z 1 [ОШИБКА] [MY-012593] [InnoDB] Ошибка означает, что система не может найти указанный путь. 2021-11-30T09:38:57.063079Z 1 [ОШИБКА] [MY-012594] [InnoDB] Если вы устанавливаете InnoDB, помните, что вы должны создавать каталоги самостоятельно, InnoDB их не создает. 2021-11-30T09:38:57.063101Z 1 [ОШИБКА] [MY-012646] [InnoDB] Файл ./ibdata1: 'open' вернул ошибку ОС 71. Невозможно продолжить работу 2021-11-30T09:38:57.063118Z 1 [ОШИБКА] [MY-012981] [InnoDB] Невозможно продолжить работу.
Я перепробовал все решения, но не смог понять, что с ними не так.
вот подробности моего файла /etc/my.conf.
# Советы по изменению настроек см.# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html [mysqld] # # Удалить ведущий # и установить объем оперативной памяти для наиболее важных данных # кэш в MySQL. Начните с 70% от общего объема оперативной памяти для выделенного сервера, в остальных случаях 10%. # innodb_buffer_pool_size = 128M # # Удалите начальный "#", чтобы отключить двоичное ведение журнала # Двоичное ведение журнала фиксирует изменения между резервными копиями и включается # по умолчанию. Значение по умолчанию: log_bin=binlog. # отключить_log_bin # # Удалите ведущий #, чтобы установить параметры, в основном полезные для серверов отчетов. # Серверные значения по умолчанию быстрее для транзакций и быстрых SELECT. # Отрегулируйте размеры по мере необходимости, поэкспериментируйте, чтобы найти оптимальные значения. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M # # Удалите ведущий #, чтобы вернуться к предыдущему значению для default_authentication_plugin, # это повысит совместимость со старыми клиентами.
Для фона см .: # https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin # плагин аутентификации по умолчанию = mysql_native_password datadir=/var/lib/mysql сокет=/var/lib/mysql/mysql.sock лог-ошибка=/var/log/mysqld.log pid-файл=/var/run/mysqld/mysqld.pid
- mysql
- centos
- centos7
Я решил проблему, следующее решение
остановить службу
#systemctl остановить mysqld
удаление всех файлов и каталогов из /var/lib/mysql
#rm -rf /var/lib/mysql/*
запуск службы
#systemctl запуск mysqld
Вы используете CentOS 7. Запустите это:
systemctl status mysqld.service
Если ошибок не появляется, попробуйте следующее:
systemctl перезапустить mysqld.service
Если это не поможет, запустите это:
for i in ps auxf|grep mysqld|grep "grep" -v|awk '{print $2}'
; убить -9 $i; done
Затем запустите:
systemctl start mysqld.