因此,我正在使用ansible在Centos 7上安装MySQL 5.7。在安装MySQL的MySQL 5.7中,临时根密码存储在/var/log/mysqld.log中。我的任务是读取临时密码,然后将root用户的密码更新为自定义密码。
在测试期间,一切工作正常,直到此时随机生成的密码,:<vtBo6_q-h
为止。由于密码中的<
,我无法登录Mysql并更改root密码。安装mysql时,有什么方法可以限制临时密码中的字符?还是有一种方法可以在使用Ansible登录mysql时转义这些字符?
这是我的任务:
- name: Update the mysql root password
mysql_user: name=root
password="'{{ mysql_root_password }}'"
check_implicit_admin=yes
login_user=root
login_password="{{ temp_password }}"
state=present
ignore_errors: yes
我还尝试使用终端机手动登录
mysql -uroot -p,:<vtBo6_q-h
bash: vtBo6_q-h: No such file or directory
因此解决方案似乎将密码放在引号中。这在终端上有效,但是似乎无法通过单引号传递密码