Меню Закрыть

Как перезагрузить sql сервер

MySQL – это самая популярная система баз данных, которая используется для обеспечения работы большинства сайтов. Пока вы размещаете свой сайт на хостинге, вам нет необходимости думать о её настройке или своевременной перезагрузке, потому что этим занимаются системные администраторы хостинга. Но когда вы переберётесь на VPS, это всё будет уже в зоне вашей ответственности.

В этой статье мы рассмотрим, как выполняется перезапуск MySQL в разных дистрибутивах Linux, а также как сделать, чтобы MySQL перезапускалась автоматически после падения.

Перезапуск MySQL или MariaDB

В большинстве современных дистрибутивов, а особенно тех, что используются для работы серверов, для управления службами применяют Systemd. Именно с её помощью мы будем перезапускать движок баз данных. Ещё один момент, с которым нужно определиться, – это название юнит-файла MySQL. В зависимости от версии и дистрибутива оно может отличаться:

Вы можете попробовать использовать эти варианты, чтобы найти тот, что используется в вашей системе; последние версии 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 для обновления конфигурации, а также как настроить автоматический перезапуск службы после возникновения ошибок. Если у вас остались вопросы, спрашивайте в комментариях!

Microsoft SQL Server можно быстро останавливать и перезапускать из среды Среда SQL Server Management Studio.

Перезапуск экземпляра SQL Server

В зарегистрированных серверах или обозревателе объектов щелкните правой кнопкой мыши экземпляр сервера, который необходимо перезапустить, затем выберите пункт Перезапустить .

Появится окно сообщения с подтверждением о перезапуске SQL Server для выбранного экземпляра сервера.

Нажмите кнопку Да .

Стрелка зеленого цвета на значке рядом с именем сервера указывает на то, что перезапуск сервера прошел успешно.

998 просмотра

4 ответа

720 Репутация автора

Я не смог найти документацию / объяснение того, как вы могли бы перезагрузить инкрементные данные, используя сбор данных изменений (CDC) в SQL Server 2014 с SSIS.

Обычно, в определенный день, если ваша инкрементная обработка служб SSIS завершается неудачно, и вам нужно начать заново. Как вы снова ставите недавно измененные записи?

Ответы (4)

2 плюса

23458 Репутация автора

Я полагаю, это зависит от того, что вы делаете с данными, а? 🙂 В общем случае вы можете разбить его на три случая:

  1. Вставить – проверить, есть ли строка. Если это так, пропустите это. Если нет, вставьте его.
  2. Удалить – при условии, что вы не используете первичные ключи, просто запустите удаление снова. Он либо найдет строку для удаления, либо не найдет, но в результате получается, что строка с этим PK не будет существовать после удаления.
  3. Обновление – вроде как сценарий удаления. Если вы повторно обрабатываете обновление, это не имеет большого значения (при условии, что ваш процесс CDC – единственное, что поддерживает актуальность данных в месте назначения, и нет опасности перезаписать чьи-то / другие изменения).
Читайте также:  Как найти площадь круга зная длину окружности

Автор: Ben Thul Размещён: 24.02.2015 06:25

2 плюса

21 Репутация автора

Предполагая, что вы используете новые компоненты CDC SSIS 2012, в частности, задачу управления CDC в начале и конце пакета. Затем, если по какой-либо причине пакет завершится сбоем, прежде чем запустить задачу управления CDC в конце пакета, эти LSN (порядковый номер журнала) НЕ будут помечены как обработанные, поэтому вы можете просто перезапустить пакет служб SSIS сверху после устранения проблемы и он просто снова обработает эти записи. Вы ДОЛЖНЫ использовать Задачу управления CDC, чтобы выполнить эту работу, или сами следить за номерами LSN (до SSIS 2012 это был единственный способ сделать это).

Мэтт Массон (старший менеджер программы в MSFT SQL Server) написал отличную статью с пошаговым руководством: CDC в SSIS для SQL Server 2012

Также см. Пост Брэдли Шахта: Понимание ценности CDC.

1 плюс

720 Репутация автора

Поэтому я понял, как это сделать в службах SSIS.

Я записываю минимальный и максимальный номер LSN каждый раз, когда мой пакет служб SSIS запускается в таблице в моем хранилище данных.

Если я хочу перезагрузить набор данных из источника CDC в промежуточное состояние, в пакете служб SSIS мне нужно использовать задачу управления CDC и установить для нее «Пометить начало CDC» и в текстовом поле с меткой «LSN SQL Server для запуска». . "Я поставил значение LSN, которое хочу использовать в качестве отправной точки.

Я не понял, как установить конечную точку, но я могу зайти в свою промежуточную таблицу и удалить любые данные со значением LSN>, а затем мою конечную точку.

Вы можете сделать это только для изменений CDC, которые не были «очищены» – только для данных, которые были изменены за последние 3 дня.

Читайте также:  Как настроить каналы на телевизоре grundig

Кроме того, я также перенесу таблицу lsn_time_mapping в свое хранилище данных, поскольку нахожу эту информацию исторически полезной, и она «очищается» каждые 4 дня в исходной базе данных.

Автор: tember Размещён: 29.04.2015 05:24

плюса

16 Репутация автора

Чтобы перезагрузить те же изменения, вы можете использовать следующие методы.

Способ № 1 : сохранить маркер TFEND из таблицы [cdc_states] в другой таблице или переменной. Верните маркер обратно в [cdc_states] из «сохраненного» значения, чтобы снова обработать тот же диапазон. Этот метод, однако, позволяет начать обработку с того же номера LSN, но если за это время вы изменили таблицу, получившую больше изменений, эти изменения также будут зафиксированы. Таким образом, вы можете получить больше изменений, которые произошли после первого сбора данных.

Метод № 2 : Для захвата указанного диапазона запишите маркеры TFEND до и после обработки диапазона. Теперь вы можете использовать OLEDB Source Connection (SSIS) со следующими функциями cdc. Затем, как обычно, используйте CDC Splitter для направления вставок, обновлений и удалений.

Рекомендуем к прочтению

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code

Adblock detector