mysql_user - 从MySQL数据库添加或删除用户。

概要

  • 从MySQL数据库添加或删除用户。

选项

参数 需要 默认 选择 注释
append_privs

(1.4 加入)
no no
  • yes
  • no
将priv定义的权限附加到此用户的现有权限,而不是覆盖现有的权限。
check_implicit_admin

(1.3 加入)
no no
  • yes
  • yes
检查mysql是否允许以root / nopassword身份登录,然后再尝试提供的凭据。
CONFIG_FILE

(2.0 加入)
no 〜/ .my.cnf  
指定要从中读取用户和密码的配置文件。
connect_timeout

(2.1 加入)
no 30  
连接到MySQL服务器时的连接超时。
encrypted(加密)

(2.0 加入)
no no
  • yes
  • no
表示'密码'字段是一个`mysql_native_password`哈希值
host

 
no localhost  
the 'host' part of the MySQL username
host_all

(2.1加入)
no no
  • yes
  • no
覆盖host选项,使给定用户对所有主机名进行ansible应用更改。创建用户时不能使用此选项
login_host

 
no localhost  
运行数据库的主机。
login_password

 
no    
用于验证的密码。
login_port

 
no 3306  
MySQL服务器端口。如果使用login_port,则需要将login_host定义为其他本地主机。
login_unix_socket

 
no    
到本地连接的Unix域套接字的路径。
login_user

 
no    
用于验证的用户名。
name

 
yes    
添加或删除的用户名称(角色)
password

 
no    
设置用户密码。
priv

 
no    
MySQL特权字符串格式为:db.table:priv1,priv2
可以通过使用正斜杠分隔每个特权来指定多个权限:db.table:priv/db.table:priv
该格式基于MySQL GRANT语句。
数据库和表名可以引用,MySQL风格。
如果使用列权限,则该priv1,priv2部分必须与SHOW GRANT语句完全相同。如果不遵循,模块将始终报告更改。它包括通过permission(SELECT(col1,col2)而不是SELECT(col1SELECT(col2))分组列)。
SQL_LOG_BIN

(2.1加入)
no yes
  • yes
  • no
是否应该为连接启用或禁用二进制日志记录。
ssl_ca

(2.0加入)
no    
证书颁发机构(CA)证书的路径。此选项(如果使用)必须指定与服务器使用的相同的证书。
ssl_cert

(2.0加入)
no    
客户端公钥证书的路径。
ssl_key

(2.0加入)
no    
客户端私钥的路径。
state no present
  • present
  • absent
用户是否应该存在 当absent时删除用户。
update_password

(2.0加入)
no always
  • always
  • on_create
如果不同,always将更新密码。 on_create只会为新创建的用户设置密码。

例子

# Removes anonymous user account for localhost
- mysql_user:
name: ''
host: localhost
state: absent # Removes all anonymous user accounts
- mysql_user:
name: ''
host_all: yes
state: absent # Create database user with name 'bob' and password '12345' with all database privileges
- mysql_user:
name: bob
password: 12345
priv: '*.*:ALL'
state: present # Create database user with name 'bob' and previously hashed mysql native password '*EE0D72C1085C46C5278932678FBE2C6A782821B4' with all database privileges
- mysql_user:
name: bob
password: '*EE0D72C1085C46C5278932678FBE2C6A782821B4'
encrypted: yes
priv: '*.*:ALL'
state: present # Creates database user 'bob' and password '12345' with all database privileges and 'WITH GRANT OPTION'
- mysql_user:
name: bob
password: 12345
priv: '*.*:ALL,GRANT'
state: present # Modify user Bob to require SSL connections. Note that REQUIRESSL is a special privilege that should only apply to *.* by itself.
- mysql_user:
name: bob
append_privs: true
priv: '*.*:REQUIRESSL'
state: present # 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 # Ensure no user named 'sally' exists at all
- mysql_user:
name: sally
host_all: yes
state: absent # Specify grants composed of more than one word
- mysql_user:
name: replication
password: 12345
priv: "*.*:REPLICATION CLIENT"
state: present # 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 # Example using login_unix_socket to connect to server
- mysql_user:
name: root
password: abc123
login_unix_socket: /var/run/mysqld/mysqld.sock # 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

注意

  • MySQL服务器的默认login_user为“root”,无密码。为了将此用户作为幂等playboot的一部分,您必须至少创建两个任务:首先必须更改root用户的密码,而不提供任何login_user / login_password详细信息。第二个必须删除包含新的根凭证的〜/ .my.cnf文件。然后,通过从文件读取新的凭据,随后的游戏将成功。
  • 目前,只支持mysql_native_password加密密码散列模块。
  • 需要远程主机上的MySQLdb Python包。对于Ubuntu,这和apt-get install python-mysqldb一样简单。(请参阅apt。)对于CentOS / Fedora,这与yum安装MySQL-python一样简单。(见yum。)
  • 无论login_passwordlogin_user你逝去的凭据是必需的。如果不存在,则模块将尝试从中读取凭据~/.my.cnf,最后回到使用MySQL默认登录的“root”,没有密码。

状态

该模块被标记为预览,这意味着它不能保证具有向后兼容的界面。

支持

这个模块是没有核心提交者监督的社区维护的。

有关这是什么意思的更多信息,请阅读模块支持

为了帮助开发模块,如果您有这样的倾向,请阅读社区信息和贡献测试可编程开发模块

Ansible 从MySQL数据库添加或删除用户的更多相关文章

  1. mysql、添加和删除用户、添加权限

    创建用户      mysql>insert into mysql.user(Host,User,Password) values("localhost","tes ...

  2. MySQL数据库添加一个字段

    MySQL数据库添加一个字段 1.添加一个字段 alter table tableName add 列名  数据类型; 2.添加一个字段设置默认值 alter table tableName add ...

  3. 如何给mysql数据库添加一个用户

    首先以root身份登录到MySQL服务器中. $ mysql -u root -p 当验证提示出现的时候,输入MySQL的root帐号的密码. 创建一个MySQL用户 使用如下命令创建一个用户名和密码 ...

  4. linux mysql添加、删除用户、用户权限及mysql最大字段数量

    1.  登录: mysql -u username -p 显示全部的数据库: show databases; 使用某一个数据库: use databasename; 显示一个数据库的全部表: show ...

  5. mysql 数据库 添加查询 修改 删除

    cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)   一 查看数据库.表.数据字段.数据 1 首先配置环境变量 进入mysql  或者通过一键集成工具 打开mysql命令行   ...

  6. MySQL数据库(五)--用户管理、pymysql模块

    一.用户管理(权限管理) 在MySQL中自带的mysql数据库中有4个表用于用户管理的 # 优先级从高到低 user > db > tables_priv > columns_pri ...

  7. MySQL数据库(五)—— 用户管理、pymysql模块

    用户权限管理.pymysql模块 一.用户管理(权限管理) 在MySQL中自带的mysql数据库中有4个表用于用户管理的 # 优先级从高到低 user > db > tables_priv ...

  8. Mysql 数据库 创建与删除(基础2)

    创建数据库 语法: 注意:创建数据库时可以指定编码(如: create database mydb123 default charset utf8; ) pyvip@Vip:~$ mysql -uxl ...

  9. MySQL数据库localhost的root用户登陆遭遇失败

    问题:Access denied for user 'root'@'localhost' (using password: YES)打开MySQL目录下的my.ini文件(Linux的话是/etc/m ...

随机推荐

  1. 【appium】根据accessibility_id定位元素

    如何获得AccessibilityId 可以通过UIAutomatorViewer或者Appium Inspector获得.Accessibility ID在Android上面就等同于contentD ...

  2. jq 获取name值一样的数组

    <input type="text" value="" name="wid"/><input type="tex ...

  3. lwip编译选项

    修改默认选项时,不要修改opt.h文件,通过lwipopts.h修改. 和内存管理以及TCP发送性能相关的选项 // 为1时使用系统库malloc/free进行内存管理 #ifndef MEM_LIB ...

  4. bzoj4693: 雪中送温暖

    Description 每年的1月10日是温暖节,在这一天,化身出题人的C_SUNSHINE将会给OIer们送温暖.OIer们只要在门口放上一个 仙人掌,就能在早上的某个时刻听到门外传来一声:“开门, ...

  5. mysql响应时间超时排查

    背景: 数据库运营环境,zabbix mysql响应时间告警,响应时间超时 zabbix监控 tcprstart 直接抓包响应时间看到每5秒钟就一次,与zabbix监控一致 [root@slave1( ...

  6. numpy的flat、flatten、ravel

    import numpy as np dt = np.arange(10).reshape(5,2) # =============================================== ...

  7. (转)linux查找技巧: find grep xargs

    在当前目录下所有.cpp文件中查找efg函数 find . -name "*.cpp" | xargs grep 'efg' xargs展开find获得的结果,使其作为grep的参 ...

  8. Unity的JIT和AOT实现

    https://myhloli.com/about-il2cpp.html JIT方式: Unity的跨平台技术是通过一个Mono虚拟机实现的.而这个虚拟机更新太慢,不能很好地适应众多的平台. And ...

  9. 解决npm下载包失败的问题

    在我朝,用npm直接从官方的镜像下载包,经常会出现网络超时下载失败的问题,具体原因大家都懂,我就不说了. 不过,这些都无法阻挡我们对知识的渴望,一下提供几种我在工作中的解决办法,希望能帮助你. 1.安 ...

  10. mysql更新(三)语句 库的操作 表的操作

    04-初始mysql语句   本节课先对mysql的基本语法初体验. 操作文件夹(库) 增 create database db1 charset utf8; 查 # 查看当前创建的数据库 show ...