我想为mysql root用户设置强密码。但是有一个鸡蛋问题。我有空服务器。盐我。 root密码为空(默认情况下,安装后)。
如果我使用
root:
mysql_user.present:
- name: root
- password: $ecur3h4x0r
- host: %
然后我将无法调用任何其他mysql状态,因为他们需要密码。但是下次我做高台时这个调用不起作用,因为状态试图用空密码连接。
答案 0 :(得分:4)
是的,我们将添加'default_user'和'default_pass'设置,以便您可以处理这种情况。应该是0.17.0
答案 1 :(得分:2)
以防万一有人在开始使用saltstack管理mysql时偶然发现了这个问题。
以下是当前盐版本(盐2015.5.0(Lithium))的工作原理。 请注意,mysql_user.present-state非常智能,可以在没有密码的情况下尝试它。在后续运行中,状态将使用root密码进行连接,并意识到root的密码处于正确的状态。
root:
mysql_user.present:
- host: localhost
- password: s3cure_root_password
another_user:
mysql_user.present:
- host: localhost
- password: anoth3r_user_password
- connection_user: root
- connection_pass: s3cure_root_password
答案 2 :(得分:0)
我想在ubuntu 18.04下的master / minion版本'2019.2.0'中为我工作的两件事:
mysql_user.present:
- name: root
- host: localhost
- password: pillar['mysql']['mysqlrootpassword']
- connection_charset: utf8
- saltenv:
- LC_ALL: "en_US.utf8"
此后,无论root密码的值如何,该命令都会始终以User root@localhost is already present with the desired password
继续。
root
或以root用户身份登录时,MySql用户sudo
才被允许登录。