2013-06-12 26 views
5

我想爲mysql root用戶設置強密碼。但是有一個蛋雞的問題。我有空服務器。我給它加鹽。根密碼爲空(安裝後默認)。如何使用salt狀態設置root密碼

如果我使用

root: 
    mysql_user.present: 
    - name: root 
    - password: $ecur3h4x0r 
    - host: % 

那我就不能調用任何其他MySQL的狀態,因爲他們需要的密碼。但是,下次我進入高級狀態時,此呼叫將無法工作,因爲狀態會嘗試使用空密碼進行連接。

回答

4

是的,我們將添加一個'default_user'和'default_pass'設置,以便處理這種情況。它應該在0.17.0

+0

對此有什麼好運?我們在0.17.4,並且在文檔或粗略的Google搜索中沒有看到任何標誌。 – thaddeusmt

+0

我沒有測試該解決方案還沒有自己,但它看起來像添加了這個功能,這個拉REQ:https://github.com/saltstack/salt/pull/9722 另請參見「connection_user」和「connection_pass」在這裏: http://docs.saltstack.com/ref/states/all/salt.states.mysql_user.html#module-salt.states.mysql_user –

2

以防萬一有人在開始用saltstack管理mysql時絆倒這個問題。

下面是它的工作原理在當前版本的鹽(鹽2015.5.0(鋰電池))。 請注意,mysql_user.present-狀態足夠聰明,一開始就可以無密碼地嘗試它。在隨後的運行中,狀態將使用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 
+0

謝謝。時間已經過去了,我們同時擁有mysql-formula和state.mysql。如果有足夠的知識的人可以更新這一點,以便更好地(或爲什麼)避免每個人都需要經歷這兩者,那將會很棒。 – jma