ansible 安装 mysql 5.6.33

简介

了解ansible 后写的一些 小案例,加油学习,实践出功夫

编写 安装mysql的yaml文件

查看hosts

root@ecs-3c98-0002:~# tail -5 /etc/ansible/hosts
[mysql]
localhost     ansible_connection=local
---
- hosts: mysql
  remote_user: root
  tasks:
    - name: 安装依赖库
      apt: 
        name: libaio1 
        state: present
    - name: 创建目录
      file:
        path: /opt/tools
        state: directory
    - name: 下载软件包
      get_url: 
        url: https://cdn.mysql.com/archives/mysql-5.6/mysql-server_5.6.33-1ubuntu14.04_amd64.deb-bundle.tar 
        dest: /opt/tools
    - name: 解压软件包
      unarchive:
        src: /opt/tools/mysql-server_5.6.33-1ubuntu14.04_amd64.deb-bundle.tar
        dest: /opt/tools
        copy: no 
        mode: 0755
    - name: 安装 mysql*.deb
      apt:
        deb: "{{ mysql_deb }}"
      loop:
        - /opt/tools/mysql-common_5.6.33-1ubuntu14.04_amd64.deb
        - /opt/tools/libmysqlclient18_5.6.33-1ubuntu14.04_amd64.deb
        - /opt/tools/libmysqlclient-dev_5.6.33-1ubuntu14.04_amd64.deb
        - /opt/tools/libmysqld-dev_5.6.33-1ubuntu14.04_amd64.deb
        - /opt/tools/mysql-community-client_5.6.33-1ubuntu14.04_amd64.deb
        - /opt/tools/mysql-client_5.6.33-1ubuntu14.04_amd64.deb
        - /opt/tools/mysql-community-server_5.6.33-1ubuntu14.04_amd64.deb
        - /opt/tools/mysql-server_5.6.33-1ubuntu14.04_amd64.deb
      loop_control:
        loop_var: mysql_deb
    - name: 启动mysql
      systemd: 
        daemon_reload: yes
        name: mysql 
        state: restarted 
        enabled: yes
    - name: 查看状态
      shell: systemctl status mysql
      register: mysql 
    - debug: 
        var: mysql.stdout_lines

开始安装

# 检查yaml 文件是否存在语法格式错误
ansible-playbook  --check --syntax-check mysql.yaml
# 模拟运行 -C 或者 --check
ansible-playbook  -C mysql.yaml
# 没有问题的话执行安装
ansible-playbook mysql.yaml

在这里插入图片描述

使用ansible 安装mysql 5.6.33 的话默认是没有密码的,可以无密登录
这样并不安全,我们设置一下root密码,在禁用无密登录

设置root密码

set password for root@localhost = password('123456');
在这里插入图片描述

禁用无密登录

delete from mysql.user where user='';
delete from mysql.user where Password='';
#很关键的命令,刷新,不执行不生效
flush privileges;

在这里插入图片描述
测试一下

发现不输入密码现在登录不上了,输入用户名密码后可以登录,禁用还是生效的
在这里插入图片描述

当然可以脚本设置root密码和禁用无密登录

#!/bin/bash
#设置root密码
echo "set password for root@localhost = password('123456');" | mysql
#禁用无密登录
echo "delete from mysql.user where user='';"
echo "delete from mysql.user where Password='';"
echo "flush privileges;"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值