Spec-Zone.ru › Ansible 2.8

mysql_user – Добавляет или удаляет пользователя из базы данных MySQL

  • Описание
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Статус

Описание

  • Добавляет или удаляет пользователя из базы данных MySQL.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • PyMySQL (Python 2.7 и Python 3.X), или
  • MySQLdb (Python 2.x)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
append_privs
логическое значение
    Варианты:
  • нет ←
  • да
Добавить привилегии, определённые параметром priv, к существующим для этого пользователя, вместо перезаписи существующих.
ca_cert
путь
добавлен в 2.0
Путь к сертификату центра сертификации (CA). При использовании этого параметра необходимо указать тот же сертификат, что и используется сервером.

алиасы: ssl_ca
check_implicit_admin
логическое значение
    Варианты:
  • нет ←
  • да
Проверить, разрешает ли MySQL вход как root/без пароля перед проверкой предоставленных учетных данных.
client_cert
путь
добавлен в 2.0
Путь к сертификату открытого ключа клиента.

алиасы: ssl_cert
client_key
путь
добавлен в 2.0
Путь к закрытому ключу клиента.

алиасы: ssl_key
config_file
путь
добавлен в 2.0
Значение по умолчанию:
"~/.my.cnf"
Указать конфигурационный файл, из которого должны быть прочитаны имя пользователя и пароль.
connect_timeout
целое число
добавлен в 2.1
Значение по умолчанию:
30
Таймаут соединения при подключении к серверу MySQL.
encrypted
логическое значение
добавлен в 2.0
    Варианты:
  • нет ←
  • да
Указать, что поле 'password' содержит хеш `mysql_native_password`.
host
строка
Значение по умолчанию:
"localhost"
Часть имени пользователя MySQL.
host_all
логическое значение
добавлен в 2.1
    Варианты:
  • нет ←
  • да
Переопределить параметр host, применяя изменения к всем именам хостов для данного пользователя.
Этот параметр нельзя использовать при создании пользователей.
... (остальные строки таблицы) ... ... ...

Примечания

Примечание

  • Сервер MySQL устанавливается с параметрами login_user по умолчанию 'root' и без пароля. Чтобы защитить этого пользователя в рамках идемпотентного плейбука, необходимо создать как минимум две задачи: первая должна изменить пароль пользователя root, не предоставляя информацию login_user/login_password. Вторая должна удалить файл ~/.my.cnf, содержащий новые учетные данные root. Последующие запуски плейбука будут успешны, считывая новые учетные данные из файла.
  • В настоящее время поддерживается только модуль хеширования пароля mysql_native_password encrypted.
  • Требуется пакет PyMySQL (Python 2.7 и Python 3.X) или MySQL-python (Python 2.X) на удалённом хосте. Пакет Python можно установить с помощью apt-get install python-pymysql (Ubuntu; см. apt) или yum install python2-PyMySQL (RHEL/CentOS/Fedora; см. yum). Также можно использовать dnf install python2-PyMySQL для более новых версий Fedora; см. dnf.
  • И login_password и login_user необходимы при передаче учетных данных. Если они отсутствуют, модуль попытается прочитать учетные данные из ~/.my.cnf, и в конечном счете вернётся к использованию стандартного входа MySQL 'root' без пароля.

См. также

См. также

mysql_info_module
Официальная документация модуля mysql_info.
MySQL Справочник по управлению доступом и учетными записями
Полное описание документации MySQL по управлению доступом и учетными записями.
MySQL Справочник по предоставляемым привилегиям
Полное описание документации MySQL по предоставляемым привилегиям.

Примеры

- name: Removes anonymous user account for localhost
  mysql_user:
    name: ''
    host: localhost
    state: absent

- name: Removes all anonymous user accounts
  mysql_user:
    name: ''
    host_all: yes
    state: absent

- name: Create database user with name 'bob' and password '12345' with all database privileges
  mysql_user:
    name: bob
    password: 12345
    priv: '*.*:ALL'
    state: present

- name: Create database user using hashed password with all database privileges
  mysql_user:
    name: bob
    password: '*EE0D72C1085C46C5278932678FBE2C6A782821B4'
    encrypted: yes
    priv: '*.*:ALL'
    state: present

- name: Create database user with password and all database privileges and 'WITH GRANT OPTION'
  mysql_user:
    name: bob
    password: 12345
    priv: '*.*:ALL,GRANT'
    state: present

# Note that REQUIRESSL is a special privilege that should only apply to *.* by itself.
- name: Modify user to require SSL connections.
  mysql_user:
    name: bob
    append_privs: yes
    priv: '*.*:REQUIRESSL'
    state: present

- name: Ensure no user named 'sally'@'localhost' exists, also passing in the auth credentials.
  mysql_user:
    login_user: root
    login_password: 123456
    name: sally
    state: absent

- name: Ensure no user named 'sally' exists at all
  mysql_user:
    name: sally
    host_all: yes
    state: absent

- name: Specify grants composed of more than one word
  mysql_user:
    name: replication
    password: 12345
    priv: "*.*:REPLICATION CLIENT"
    state: present

- name: Revoke all privileges for user 'bob' and password '12345'
  mysql_user:
    name: bob
    password: 12345
    priv: "*.*:USAGE"
    state: present

# Example privileges string format
# mydb.*:INSERT,UPDATE/anotherdb.*:SELECT/yetanotherdb.*:ALL

- name: Example using login_unix_socket to connect to server
  mysql_user:
    name: root
    password: abc123
    login_unix_socket: /var/run/mysqld/mysqld.sock

- name: Example of skipping binary logging while adding user 'bob'
  mysql_user:
    name: bob
    password: 12345
    priv: "*.*:USAGE"
    state: present
    sql_log_bin: no

# Example .my.cnf file for setting the root password
# [client]
# user=root
# password=n<_665{vS43y

Статус

  • Данному модулю не гарантируется обратная совместимость. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Jonathan Mainguy (@Jmainguy)
  • Benjamin Malynovytch (@bmalynovytch)

Подсказка

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/mysql_user_module.html

Spec-Zone.ru

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