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.