Как перезапустить MySQL вручную и автоматически
MySQL — это одна из самых распространенных и популярных систем управления базами данных (СУБД). Она используется для хранения и управления информацией на многих сайтах. Если вы работаете с этой СУБД, вам может потребоваться перезагрузить ее по разным причинам: например, из-за ошибок MySQL может завершить свою работу неправильно, также проблемы могут появиться в случае нехватки памяти на сервере.
В статье рассказываем, с помощью какой команды можно перезагрузить базу данных и как сделать так, чтобы MySQL перезапускалась автоматически.
Перезапуск MySQL
Для перезагрузки MySQL в большинстве операционных систем используется утилита Systemd, которая является стандартным инструментом для управления службами. Перезапуск сделать несложно:
- Сначала подключитесь к серверу по SSH .
- Затем выполните команду:
systemctl restart mysql
Эта команда отправляет запрос на перезапуск службы MySQL.
Если вы хотите убедиться, что перезагрузка прошла успешно, выполните команду:
systemctl status mysql
Эта команда покажет текущее состояние службы MySQL, и если все работает правильно, вы должны увидеть сообщение: «Active: active (running)».
Остановка MySQL
Иногда нужно вручную остановить работающий сервис и заново его запустить.
Чтобы остановить MySQL с помощью утилиты Systemd, введите команду:
systemctl stop mysql
После принудительной остановки заново запустите сервис командой:
systemctl start mysql
Автоматический перезапуск MySQL
Чтобы настроить автоматическую перезагрузку MySQL с помощью утилиты Systemd, нужно добавить в юнит-файле конфигурации строку:
Сохраните изменения и закройте файл.
Теперь служба MySQL будет перезапускаться автоматически каждый раз, когда она завершится неудачно. Параметр RestartSec задает интервал времени между перезапусками в секундах. В данном случае MySQL будет перезапущена через 10 секунд после непредвиденной остановки.
Вывод
При работе с базами данных иногда необходимо перезапустить MySQL для обновления настроек, в случае появления ошибок или из-за нехватки памяти на сервере.
В статье мы рассказали, как делать рестарт MySQL с помощью утилиты Systemd, а также как настроить автоматический перезапуск сервиса.
#1040 — Too many connections
Возможно и есть такая уже тема, но я не нашла. Помогите пожалуйста. Я не могу зайти ни на свой сайт ни в пхпмойадмин.
2 Ответ от Нинок 2009-05-06 13:21:36 (изменено: Нинок, 2009-05-06 13:22:11)
Re: #1040 — Too many connections
Выдает ошибку #1040 — Too many connections
3 Ответ от Hanut 2009-05-06 14:30:40
Re: #1040 — Too many connections
Нинок
Под root должно пускать.
За количество соединений в my.ini отвечает директива max_connections
Пример на 100 соединений:
max_connections=100
После внесения изменений в my.ini необходимо перезагрузить MySQL.
Если это удаленный сервер, обратитесь к хостеру, или администратору сервера.
4 Ответ от Нинок 2009-05-07 04:53:36
Re: #1040 — Too many connections
Hanut сказал:
Нинок
Под root должно пускать.
За количество соединений в my.ini отвечает директива max_connections
Пример на 100 соединений:
max_connections=100После внесения изменений в my.ini необходимо перезагрузить MySQL.
Если это удаленный сервер, обратитесь к хостеру, или администратору сервера.
Спасибо, но делол в том что я олько в первые вообще связалась с пхп. Изучала дома ну может месяца два. написать игру тяму хватило, а вот как перезагрузить базу данных я пас. подскажите как это сделать. Спасибо.
5 Ответ от Hanut 2009-05-07 14:47:05
Re: #1040 — Too many connections
Нинок
Локально на Windows, надо перезагрузить сервит MySQL в службах.
Удаленно на Unix, перезагрузить MySQL можно либо через контрольную панель управления сервером, либо при наличии SSH доступа из командной строки:
/etc/rc.d/init.d/mysqld restart
На Unix конфигурационный файл MySQL будет /etc/my.cnf
6 Ответ от Нинок 2009-05-07 15:03:56
Re: #1040 — Too many connections
Hanut сказал:
Нинок
Локально на Windows, надо перезагрузить сервит MySQL в службах.Удаленно на Unix, перезагрузить MySQL можно либо через контрольную панель управления сервером, либо при наличии SSH доступа из командной строки:
/etc/rc.d/init.d/mysqld restart
На Unix конфигурационный файл MySQL будет /etc/my.cnf
Спасибо, уже понятнее. А еще такой вопрос: не удалятся ли некоторые данные с базы ? То есть я имею ввиду игроков их снаряжение при перезагрузке MySQL?
Перезапуск 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:
Но обратите внимание, что редактировать файлы юнитов в папке /usr нельзя, потому что во время обновления они могут быть перезаписаны, можно только в /etc, и желательно создавать отдельный файл. Можно поступить проще: используйте команду systemctl edit:
sudo systemctl edit mariadb
Сохраните изменения. Эти строки будут записаны в виде отдельного файла, который автоматически подключается к основному.
Выводы
В этой статье мы рассмотрели, как перезапустить MySQL для обновления конфигурации, а также как настроить автоматический перезапуск службы после возникновения ошибок. Если у вас остались вопросы, спрашивайте в комментариях!
после удаления всех пользователей и перезагрузки привилегий
Пользователя ROOT изменили на другое имя и поставили пароль, все одинаково в 3 позициях Хостов “127.0.0.1?, “localhost”, “production”. Затем было выбрано “Удалить всех пользователей и перезагрузить привилегии”. Теперь выводит ”В доступе отказано”, а на самой страничке http://localhost/Tools/phpmyadmin/ —
«phpMyAdmin попытался соединиться с сервером MySQL, но сервер отверг соединение. Проверьте имя хоста, пользователя и пароль в config.inc.php» и » Ответ MySQL: Документация
#1130 — Host ‘localhost’ is not allowed to connect to this MySQL server «.
Проверка данного файла ничего не дала, поскольку изначальный пользователь “root” там прописан в 3 местах без пароля! «localhost» тоже есть.
Что делать и как исправить ситуацию?
————
Один хороший знакомый предложил в командной строке войти в каталог где находится база и прописать строку: «mysqladmin -u root -password новый_пароль», но то ли я не то делаю, то ли не в том каталоге нахожусь, потому как ответ на это «файл не найден»!
Заранее благодарен Вам за помощь! Буду очень признателен за реальную помощь!
PS.: все 8 тем по ошибке #1130 прочел не один раз, но решения так и не нашел.
2 Ответ от Hanut 2009-12-04 18:54:06
Re: после удаления всех пользователей и перезагрузки привилегий
Если был удален пользователь root, то восстановить его можно на Windows можно следующим образом:
1) Создайте файл C:\mysql-init.txt и добавьте в него следующие строки:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'pass' WITH GRANT OPTION; FLUSH PRIVILEGES;
[mono]IDENTIFIED BY ‘pass'[/mono] — pass замените на желаемый пароль, который будет использовать root.
2) Остановите сервис MySQL или весь Денвер.
3) В командной строке введите:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
Обязательно проверьте пути к программе mysqld-nt.exe (если ее нет, то mysqld.exe); к конфигурационному файлу my.ini (или my.cnf); и к только что созданному файлу c SQL запросом.
4) После успешного запуска MySQL, остановите его и запустите Денвер обычным образом.
3 Ответ от sergiofantome 2009-12-08 20:37:32
Re: после удаления всех пользователей и перезагрузки привилегий
[size=15] Уважаемый Hanut, от всей души большое спасибо!
Спасли от неминуемой смерти просто! [/size]
. нашел нужные пути, но результата добился не сразу, а только на 10-20 раз наверное, но видно из-за синтаксиса:
было и «не является внутренней или внешней командой, исполняемой программой или пакетным файлом», было и «Fatal error in defaults handling. Program aborted»
после введения:
C:\>
«C:\WebServers\usr\local\mysql5\bin\mysqld.exe» —defaults-file=»C:\WebServers\usr\local\mysql5\my.cnf» —init-file=»C:\mysql-init.txt» (не помню только с кавычками или без в последнем «C:\. «)
[size=14] все заработало. Ура. Огромное-преогромное Вам спасибо! [/size]
———————————
PS:.
нужны ли в последнем пути кавычки или нет?
если не затруднит, посоветуйте пожалуйста какую-нибудь практически полезную книгу или информацию по данному вопросу? Чувствую пробел в знаниях, да и хотелось бы осознать смысл действий, которые исправили проблему!
Еще раз Спасибо! . и удачи во всем!