|
Программирование >> Программный интерфейс приложений
в системах System V для инсталляции сценария mysql. server достаточно разместить его в подкаталоге /etc каталога запуска. Это наверняка уже сделано, если Linux или MySQL инсталлировались с помощью RPM-файла. Если нет, инсталлируйте сценарий в основной каталог сценариев запуска и установите связи с ним в каталогах уровней запуска. Можно также сделать так, чтобы сценарии запускались только пользователем root. Структура каталогов с файлами запуска может изменяться от системы к системе, поэтому рекомендуется внимательно просмотреть, как эти файлы организованы в используемом компьютере. Например, в системе LinuxPPC для запуска применяются каталоги /etc/rc. d/init. d и etc/rc.d/rc3.d. Соответственно инсталляция сценария выполняется с помощью следующих команд: # ср mysql.server /etc/гс.d/init.d # cd /etc/init.d # chmod 500 mysql.server # cd /etc/rc.d/rc3.d # In -s ../init.d/mysql.server S99mysql В ОС Solaris основной каталог сценариев - /etc/init.d, а каталог уровня запуска - /etc/rc2.d, поэтому набор команд инсталляции выглядит следующим образом: # ср mysql.server /etc/init.d # cd /etc/init.d # chmod 500 mysql.server # cd /etc/rc2.d # In -s ../init.d/mysql.server S99mysql Эти команды обеспечивают автоматический запуск сценария S99mysql с аргументом start в процессе загрузки системы. Если имеется возможность использования команды chkconf ig (часто применяемой под управлением Linux), ее также можно применить для инсталляции сценария mysql. server. В этом случае от ручного ввода приведенных выше команд можно отказаться. Определение опций запуска Существует два способа определения дополнительных опций запуска, которые применяются при зафузке сервера. Во-первых, можно изменить используемый сценарий запуска (safe mysqld или mysql. server) и задать опции непосредственно в сфоке вызова сервера. Во-вторых, можно определить опции собственно в конфигурационном файле. Профессионалы рекомендуют по возможности использовать для этих целей глобальные конфигурационные файлы. В системах UNIX и Windows этими файлами обычно являются /etc/my.cnf и C:\my.cnf соответственно. (Более детально об использовании конфигурационных файлов рассказывается в приложении Д, Профаммы MySQL .) Однако есть информация, которую невозможно задать в конфигурационных файлах. Для ее определения необходимо изменить сценарий safemysqld. Так, например, если сервер неправильно считал установки временного пояса и возвращает значения времени в формате GMT (времени по Гринвичу), можно для подсказки установить переменную среды TZ. Если сервер запускается с помощью сценария safe mysqld или mysql. server, установку временного пояса можно добавить в safemysqld. Отыщите строку запуска сервера и перед ней добавьте следующие команды: TZ=US/Central export TZ Эти комагщы устанавливают часовой пояс центральной части Соединенных Штатов. Пользователям же необходимо аналогичным образом задать свой часовой пояс. Подобный синтаксис для переменной TZ применяется в системе Solaris. В других системах он может быть другим, например, таким: TZ=CST6CDT export TZ Следует помнить, что после повторной инсталляции MySQL (например, при обновлении версии) все внесенные в сценарий запуска изменения будут потеряны. В таком случае необходимо сперва скопировать сценарий в другую папку, а после инсталляции сравнить оба сценария (старый и вновь инсталлированный) и добавить отсутствующие опции. Проверка таблиц во время запуска Помимо настройки автоматического запуска сервера в процессе загрузки системы, можно также инсталлировать сценарий, который будет запускать утилиты myisamchk и isamchk. Это позволит проверять таблицы перед запуском сервера. В некоторых случаях перезагрузка сервера выполняется после сбоя, в результате которого таблицы могут оказаться поврежденными. Проверка таблиц перед запуском сервера - отличный способ предотвратить будущие проблемы. Более детально о создании и инсталляции такого сервера рассказывается в главе 13, Поддержка и восстановление баз данных . Завершение работы сервера Для самостоятельного завершения работы сервера применяется команда mysqladmin: % mysqladmin shutdown Автоматическое завершение работы сервера также не требует выполнения каких-либо специальных действий. В UNIX BSD работа служб обычно завершается посредством отправки процессам сигнала TERM. Службы либо соответствуюшим образом на него отвечают, либо просто закрываются. Сервер mysqld, например, на получение такого сигнала реагирует закрытием. В системах System V, запуск сервера в которых производится с помощью сценария mysql. server, процедура завершения работы реализуется посредством вызова этого же сценария, но с аргументом stop. При этом, конечно же, предполагается, что сценарий mysql. server инсталлирован. Когда нельзя подключиться к серверу В некоторых случаях возникает необходимость в самостоятельной перезагрузке сервера из-за невозможности подключения к нему. Честно говоря, получается какой-то парадокс, поскольку обычно для завершения работы сервера необходимо сначала подключиться к нему, а затем дать указание на закрытие. Как же может возникнуть подобная ситуация? Во-первых, администратор может не знать пароля MySQL-пользователя root. Иногда это случается, когда при изменении пароля случайно введен лишний символ или пароль просто забыт. Во-вторых, подключение к компьютеру localhost обычно осуществляется через файл доменного разъема ОС UNIX, которым, как правило, является /tmp/mysql. sock. Удаление этого файла делает невозможным подключение клиентов. Такая ситуация, в свою очередь, может возникнуть после запуска процесса сгоп, который удаляет временные файлы из каталога /tmp. Если подключиться нельзя из-за отсутствия файла разъема, проблему можно легко решить посредством простой перезафузки сервера. В процессе запуска он воссоздаст этот файл. Проблема заключается в том, что использовать этот разъем для установления соединения с сервером нельзя. Для этого необходимо установить соединение TCP/IP. Например, если сервер запускается на компьютере с адресом viper.snake.net, подключиться к нему можно с помощью следующей команды: % mysqladmin -р -и root -h pit-vTper.snake.net shutdown Если файл разъема удален в результате работы задания профаммы сгоп, проблема может возникнуть снова. Чтобы избежать этого, насфойте профамму сгоп на использование другого файла разъема. Это можно осуществить с помощью глобального конфигурационного файла. Так, например, если /usr/local/var - каталог данных, для перемещения в него файла разъема достаточно добавить следующие строки в файл /etc/my. cnf: [mysqld] socket=/usr/local/var/mysql.sock [client] socket=/usr/local/var/mysql.sock
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |