所以我使用ansible在centos7上安装mysql 5.7。在mysql 5.7中,安装mysql后,temp root密码存储在/var/log/mysqld.log中。我的ansible任务所做的是读取临时密码,然后将root用户的密码更新为自定义密码。
在我测试的时候一切都很正常,直到这次随机生成的密码 ,:<vtBo6_q-h
。由于 <
在密码中,我无法登录mysql并更改根密码。在安装mysql时,有没有办法限制temp密码中的字符?或者在使用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
因此,解决方案似乎把密码放在引号里。这在终端上起作用,但在ansible中用单引号传递密码似乎不起作用
暂无答案!
目前还没有任何答案,快来回答吧!