8.1.5 Как запустить MySQL как обычный пользователь
В Windows вы можете запустить сервер как службу Windows, используя обычную учётную запись пользователя.
В Linux для установок, выполненных с помощью репозитория MySQL или пакетов RPM, сервер MySQL mysqld должен запускаться локальным пользователем операционной системы. Запуск другим пользователем операционной системы не поддерживается скриптами инициализации, включёнными в состав репозиториев MySQL.
В Unix (или Linux для установок, выполненных с помощью 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.