A.3.2 Запуск MySQL от обычного пользователем
A.3.2 Запуск MySQL от обычного пользователем
Сервер mysqld может запускаться и работать от любого пользователя. Чтобы
настроить mysqld для работы под Unix-пользователем user_name, необходимо
выполнить следующие действия:
-
Если сервер работает, остановите его (используйте mysqladmin
shutdown).
-
Измените каталоги и файлы баз данных так, чтобы user_name имел
привилегии для чтения и записи файлов в этих каталогах (возможно, это
нужно будет делать из Unix-аккаунта root):
shell> chown -R user_name /path/to/mysql/datadir
Если среди каталогов или файлов в каталоге данных MySQL присутствуют
символические ссылки, то нужно будет также перейти по этим ссылкам и
изменить каталоги и файлы, на которые они указывают. chown -R может не
отработать символических ссылок.
-
Запустите сервер из аккаунта user_name или, если у вас MySQL 3.22 и
выше, запустите mysqld из Unix-аккаунта root и используйте опцию
--user=user_name. mysqld переключится на выполнение в контексте
Unix-пользователя user_name до того, как начнет обслуживать запросы на
соединение.
-
Чтобы запускать сервер от имени данного пользователя автоматически
в ходе загрузки системы, добавьте строку user, указывающую имя
пользователя, в группе [mysqld] файла опций `/etc/my.cnf' или файла
опций `my.cnf' из каталога данных сервера. Например:
[mysqld]
user=user_name
К этому моменту процесс mysqld должен без помех работать под
Unix-пользователем user_name. Однако содержимое таблиц привилегий не
изменяется. По умолчанию (сразу после выполнения скрипта инсталляции
таблиц привилегий mysql_install_db) MySQL-пользователь root является
единственным пользователем с правами на доступ к базе данных mysql, а
также на создание и удаление баз данных. Если вы не меняли этих
полномочий, они по-прежнему действительны. То, что вы вошли в систему как
Unix-пользователь, отличный от root, не может вам помешать получить доступ
к MySQL в качестве MySQL-пользователя root; просто задайте клиентской
программе опцию -u root.
Отметим, что работа с MySQL в качестве MySQL-пользователя root посредством
указания -u root в командной строке не имеет ничего общего
не имеет ничего общего
с выполнением
MySQL под Unix-пользователем root, или вообще под каким бы то ни было
Unix-пользователем. Привилегии доступа и имена пользователей MySQL никак
не связаны с именами Unix-пользователей. Единственная связь с именами
Unix-пользователей заключается в том, что если при запуске клиентской
программы не задана опция -u, то клиент попытается соединиться, используя
в качестве имени MySQL-пользователя имя Unix-аккаунта.
Если Unix-сервер не слишком хорошо защищен или не нуждается в повышенных
мерах безопасности, следует как минимум установить в таблицах привилегий
пароль для MySQL-пользователя root. В противном случае любой пользователь
с аккаунтом на данной машине сможет запустить mysql -u root db_name и
делать в MySQL все, что ему заблагорассудится.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий
|