Spec-Zone.ru › MySQL 5.7

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, необходимо выполнить следующие действия:

  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-5.7-en/changing-mysql-user.html

Spec-Zone.ru

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