Spec-Zone.ru › MySQL 9.2

8.1.5 Как запустить MySQL как обычный пользователь

В Windows вы можете запустить сервер как службу Windows, используя обычную учётную запись пользователя.

В Linux для установок, выполненных с помощью репозитория MySQL или пакетов RPM, сервер MySQL mysqld должен запускаться локальным пользователем операционной системы. Запуск другим пользователем операционной системы не поддерживается скриптами инициализации, включёнными в состав репозиториев MySQL.

В Unix (или Linux для установок, выполненных с помощью tar.gz пакетов) сервер MySQL mysqld может быть запущен и работать любым пользователем. Однако следует избегать запуска сервера как пользователя Unix root по соображениям безопасности. Чтобы изменить mysqld на запуск как обычным непривилегированным пользователем Unix user_name, необходимо выполнить следующие действия:

  1. Остановите сервер, если он запущен (используйте mysqladmin shutdown).

  2. Измените каталоги и файлы базы данных таким образом, чтобы у user_name были права на чтение и запись в них (возможно, вам придётся сделать это как пользователю Unix root):

    $> chown -R user_name /path/to/mysql/datadir
    

    Если этого не сделать, сервер не сможет получить доступ к базам данных или таблицам при запуске как user_name.

    Если каталоги или файлы внутри каталога данных MySQL являются символическими ссылками, chown -R может не следовать символическим ссылкам для вас. Если это так, вам также необходимо следовать этим ссылкам и изменить каталоги и файлы, на которые они указывают.

  3. Запустите сервер как пользователь user_name. Ещё один вариант — запустить mysqld как пользователя Unix root и использовать опцию --user=user_name. mysqld запускается, а затем переключается на запуск как пользователем Unix user_name перед принятием каких-либо подключений.

  4. Чтобы автоматически запускать сервер как указанного пользователя во время запуска системы, укажите имя пользователя, добавив опцию 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.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/changing-mysql-user.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API