ansible mysql root 密码初始化_ansible使用shell模块,设置mysql的密码,但是总是提示失败...

在使用Ansible脚本自动化安装和配置MySQL的过程中遇到问题,具体表现为使用shell模块设置MySQL密码时提示失败。尽管在MySQL服务器本地执行相同命令能够成功,但在Ansible任务中却出现错误。脚本包含了从下载、解压到初始化MySQL的步骤,并尝试为CentOS 6和7创建不同的启动脚本。目前的问题集中在密码设置这一环节。
摘要由CSDN通过智能技术生成

1,ansible使用shell模块,设置mysql的密码,但是总是提示失败

2,代码如下:

- name: Create mysql user

user:

name: mysql

create_home: no

shell: /sbin/nologin

- name: Download mysql

get_url:

url: http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-{{mysql_version}}-linux-glibc2.12-x86_64.tar.gz

dest: /usr/local/src

- name: Unzip mysql

unarchive:

src: /usr/local/src/mysql-{{mysql_version}}-linux-glibc2.12-x86_64.tar.gz

dest: /usr/local/src/

copy: no

- name: Rename mysql

shell:

mv /usr/local/src/mysql-{{mysql_version}}-linux-glibc2.12-x86_64 /usr/local/mysql && chown -R mysql:mysql {{basedir}}

- name: Create data storage

file:

path: /data/mysql

state: directory

owner: mysql

group: mysql

- name: Init mysql

shell:

./scripts/mysql_install_db --user=mysql --basedir={{basedir}} --datadir={{datadir}}

args:

chdir: "{{basedir}}"

- name: Create mysql script for centos6

shell:

cp "{{basedir}}/support-files/mysql.server"  /etc/init.d/mysqld && chmod 755 /etc/init.d/mysqld

when: (ansible_distribution == "CentOS" and ansible_distribution_major_version == "6")

- name: Create mysql script for centos7

copy:

src: mysqld.service

dest: /usr/lib/systemd/system/mysqld.service

when: (ansible_distribution == "CentOS" and ansible_distribution_major_version == "7")

notify:

- Reload service

- name: Copy mysql config

template:

src: my.cnf.j2

dest: /etc/my.cnf

- name: Restart mysqld

service:

name: mysqld

state: restarted

- name: Set mysql root password

shell:

/usr/local/mysql/bin/mysqladmin -uroot password linlin

3,报错信息入下

35f2bd80cf81c79e80dda53003d0b015.png

4,在mysql服务器本地执行 /usr/local/mysql/bin/mysqladmin -uroot password linlin 该命令没有任何问题。

5,以上谢谢各位!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值