Программирование >>  Программный интерфейс приложений 

1 ... 151 152 153 [ 154 ] 155 156 157 ... 264


Однако всегда запускать сервер вручную весьма неудобно. Лучше всего настроить сервер на автоматический запуск во время зафузки системы. На UNIX-компьютерах процедура запуска выполняется системой с помошью UNIX-пользователя root, соответственно все процессы, запускаемые во время этой процедуры, работают впоследствии с привилегиями пользователя root.

Администратору следует помнить о двух целях, преследуемых при на-сфойке процедуры запуска сервера MySQL.

Желательно, чтобы сервер не обладал привилегиями пользователя root, в большинстве случаев рекомендуется ограничивать возможности всех процессов, не требуюших прав доступа root. Не нужны эти права и серверу mysqid.

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

Для запуска сервера под обычным пользователем, не обладающим широкими правами, выполните следующие действия.

1. Выберите учетную запись, предназначенную для запуска сервера. Сервер mysqid может работать от имени любого пользователя, однако лучше создать для него отдельную учетную запись. Можно также создать специальную фуппу для работы с MySQL. Предположим, что такой пользователь и фуппа уже созданы и имеют имена mysqladm И mysqlgrp. Пользователям, определившим другие имена для этих целей, придется подставлять их далее в примерах кода вместо mysqladm и mysqlgrp.

Если же MySQL был установлен под каким-либо пользователем, не обладающим специальными правами админисфатора, сервер наверняка будет запускаться под собственным именем этого пользователя. В этом случае необходимо заменить mysqladm и mysqlgrp соответствующим регисфационным именем и именем фуппы.

Если же система MySQL инсталлировалась под управлением ОС Linux Red Hat с помощью RPM-файла, в процессе установки автоматически создается учетная запись с именем mysql. Ее в последующих примерах этой книги нужно применять вместо mysqladm.

2. Создайте, если необходимо, учетную запись сервера, используя обьн-ную процедуру создания учетных записей системы. Для этого необходимо сначала зарегисфироваться в качестве пользователя root.



3. Завершите работу сервера, если он работает.

4. Измените права владения каталогом данных, а также всех его подкаталогов и файлов, чтобы новым владельцем этих элементов оказался пользователь mysqladm. Например, чтобы сделать пользователя mysqladm владельцем каталога данных /usr/local/var, необходимо ввести следуюшие команды (зарегистрировавшись в качестве пользователя root).

# cd /usr/local/var. Переход в каталог данных.

# chown -R mysqladm.mysqlgrp. Установка прав владения для всех

каталогов и файлов.

5. Измените полномочия доступа к каталогу данных и всем его подкаталогам и файлам, чтобы работать с ними мог только пользователь mysqladm. Запретите доступ к данным всем остальным пользователям - это самая эффективная мера предосторожности. Если каталог данных размешается в директории /usr/local/var, определить права владения на него для пользователя mysqladm можно с помошью следующих команд (зарегистрировавшись в качестве пользователя root).

# cd /usr/local/var. Переход в каталог данных.

# chmod -R go-rwx. Все элементы будут доступны

только для пользователя mysqladm.

Устанавливая права владения и режим для каталога данных и его содержимого, не забудьте просмотреть символические связи. Нужно обязательно переместиться в каталоги, на которые эти связи указывают, и изменить права доступа для их содержимого. На этом этапе могут возникнуть проблемы, если содержащий все связанные файлы каталог не принадлежит владельцу каталога данных. Единственный способ решения таких проблем - зарегистрироваться в качестве пользователя root.

По завершении вышеприведенной процедуры следует убедиться в нормальном запуске сервера, предварительно зарегистрировавшись в качестве пользователя mysqladm или root. В последнем случае обязательно нужно определить опцию -user=mysqladm, чтобы пользователь мог переключить Ш-номер своего компьютера на mysqladm (что также реализуется в процессе запуска системы).

Опция --user была добавлена в mysql в версии MySQL 3.22. В более ранних версиях для этих же целей можно использовать команду su, указывающую системе, работающей под управлением пользователя root, что запускать сервер необходимо с учетной записью другого пользователя. Настоятельно рекомендуется заглянуть в справочное руководство и ознакомиться с синтаксисом команды su, поскольку он может видоизменяться для отдельных пользователей.



Методы запуска сервера

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

Непосредственный вызов mysqid. Это, возможно, самый распространенный метод. Поэтому подробно рассматриваться далее он не будет. Достаточно лищь заметить, что в случае необходимости можно использовать команду mysqid -help для определения опций, используемых с другими методами запуска.

Вызов сценария safe mysqld. Этот сценарий в процессе своей работы пытается определить местоположение профаммы сервера и каталога данных, а затем запускает сервер с соответствующими опциями. Сценарий safemysqld записывает все сообщения об ошибках сервера в специальный файл ошибок, расположенный в каталоге данных. Кроме того, safe mysqld следит за нормальной работой сервера и в случае сбоя перезафужает его. Этот сценарий наиболее часто применяется в BSD-версиях UNIX.

Вызов сценария mysql. server. Этот сценарий запускает сервер посредством запуска сценария safe mysqld. Сценарий mysql. server предназначен для использования на компьютерах с системой запуска/завершения работы System V. Данная система включает несколько каталогов со сценариями, вызываемыми при входе или выходе с определенного уровня работьг С помощью соответствующих аргументов start и stop можно определить, что делать дальше: запустить сервер или остановить его работу.

Сценарий safemysqld располагается в подкаталоге bin каталога инсталляции MySQL. Его же можно найти в каталоге scripts исходной дисфибуции MySQL. Сценарий mysql. server можно отыскать в подкаталоге share/mysql каталога инсталляции или каталоге support-files исходной дистрибуции MySQL. Для использования эти сценарии необходимо скопировать в соответствующие каталоги запуска.

В ОС BSD-UNIX довольно часто используются несколько специальных файлов, которые располагаются в каталоге /etc и инициируют службы во время запуска. Как правило, имена таких файлов начинаются с приставки гс . Файл ГС. local (или имеющий подобное название), например, предназначен специально для запуска локальных служб. Для запуска сервера в подобных системах необходимо добавить в файл гс. local следующие сфоки (подставив правильный путь к сценарию safe mysqld):

if [ -X /usr/local/bin/safe mysqld ]; then /usr/local/bin/safe mysqld S



1 ... 151 152 153 [ 154 ] 155 156 157 ... 264

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика