6.1.5 Как запустить MySQL как обычный пользователь
В Windows вы можете запустить сервер как службу Windows с использованием обычной учетной записи пользователя.
В Linux, для установок, выполненных с помощью репозитория MySQL, пакетов RPM или Debian, сервер MySQL mysqld должен запускаться локальным пользователем операционной системы. Запуск другим пользователем операционной системы не поддерживается скриптами инициализации, которые входят в состав установки.
В Unix (или Linux для установок, выполненных с использованием tar или tar.gz пакетов), сервер MySQL mysqld можно запускать любым пользователем. Однако, следует избегать запуска сервера как пользователя Unix root по соображениям безопасности. Чтобы изменить mysqld на запуск как обычным непривилегированным пользователем Unix user_name, необходимо выполнить следующие действия:
Остановите сервер, если он работает (используйте mysqladmin shutdown).
-
Измените каталоги и файлы базы данных таким образом, чтобы
user_nameимел права на чтение и запись в них (возможно, это потребуется сделать как пользователем Unixroot):$>
chown -Ruser_name/path/to/mysql/datadirЕсли этого не сделать, сервер не сможет получить доступ к базам данных или таблицам при запуске как
user_name.Если каталоги или файлы внутри каталога данных MySQL являются символическими ссылками,
chown -Rможет не следовать за символическими ссылками для вас. Если это так, вы также должны следовать за этими ссылками и изменить каталоги и файлы, на которые они указывают. Запустите сервер как пользователь
user_name. Другой вариант — запустить mysqld как пользователя Unixrootи использовать опцию--user=. mysqld запускается, затем переключается на выполнение как пользователь Unixuser_nameuser_nameперед принятием каких-либо подключений.-
Чтобы сервер автоматически запускался при запуске системы как указанный пользователь, укажите имя пользователя, добавив опцию
userк группе[mysqld]файла опций/etc/my.cnfили файла опцийmy.cnfв каталоге данных сервера. Например:[mysqld] user=
user_name
Если ваша Unix-машина сама по себе не защищена, вы должны назначить пароли для учетной записи MySQL root в таблицах разрешений. В противном случае любой пользователь с учетной записью входа в систему на этой машине может запустить клиент mysql с опцией --user=root и выполнить любую операцию. (Рекомендуется назначать пароли для учетных записей MySQL в любом случае, но особенно тогда, когда на хосте сервера существуют другие учетные записи входа.) См. Раздел 2.9.4, «Защита начальной учетной записи MySQL».
© 2025 Oracle
Licensed under the GPLv2 License.