ansible部署数据库服务随机启动并创建用户和设置用户有完全权限

前提是有2台以上的centos7系统主机且部署好ansible基本环境

在ansible中叫做剧本

剧本如下

复制代码
- name: 部署 MariaDB 并创建用户
  hosts: my_group   #主机组名
  become: true
  vars:
    root_password: "Xxh-2006"  # 请修改为安全的 root 密码
    username: "xxh"          # 请修改为你的姓名
    user_password: "Xxh-2006"  # 请修改为安全的用户密码

  tasks:
    - name: 安装 MariaDB 服务
      yum:
        name: 
          - mariadb-server
          - python2-PyMySQL
        state: present

    - name: 启动并启用 MariaDB 服务
      systemd:
        name: mariadb
        state: started
        enabled: true

    - name: 创建用户并授权
      mysql_user:
        login_user: root
        login_password: "{{ root_password }}"
        name: "{{ username }}"
        password: "{{ user_password }}"
        host: '%'
        priv: '*.*:ALL'
        state: present

这样就可以给被管理主机安装数据库并创建用户和授权

其中注意使用时修改变量,hosts和vars

运行时在管理端创建目录,使用ansible-playbook +文件名

文件名前加 -C 是进行空运行

相关推荐
muxin-始终如一4 分钟前
MySQL与Redis面试问题详解
数据库·redis·mysql
歪歪10028 分钟前
如何在SQLite中实现事务处理?
java·开发语言·jvm·数据库·sql·sqlite
瑶总迷弟31 分钟前
静默安装 Oracle Database 21c on CentOS 7.6
数据库·oracle·centos
博睿谷IT99_2 小时前
SQL SELECT 语句怎么用?COMPANY 表查询案例(含条件 / 模糊 / 分页)
数据库·sql·mysql
浅拾光º2 小时前
mysql字符串截取,如何在MySQL备份文件中安全截取敏感字符串?
数据库·mysql·安全
鸠摩智首席音效师2 小时前
如何删除 MySQL 数据库中的所有数据表 ?
数据库·mysql·oracle
Hey! Hey!3 小时前
DBA 系统学习计划(从入门到进阶)
数据库·学习·dba
没有bug.的程序员3 小时前
SQL 执行计划解析:从 EXPLAIN 到性能优化的完整指南
java·数据库·sql·性能优化·explain·执行计划
qqxhb3 小时前
系统架构设计师备考第30天——关系数据库
数据库·系统架构·数据库设计·关系模式·范式·关系远算·完整性规则
小心草里有鬼3 小时前
Linux 数据库 Mysql8 主从复制
linux·运维·数据库·sql·mysql