2017-02-15 7 views
0

私の問題を回避するには、ここ数時間でpuppetlabs-mysqlモジュールに関連する問題がいくつかあります。Puppet MySQLパスワードなしのrootユーザーログインを無効にする

このモジュールを使用しているエージェントノードにMySQLをインストールすると、パスワードなしでrootユーザーのログインが可能になります。しかし、私は、資格情報がルートユーザーに設定されていることを確認し、それらの資格情報を使用してログインすることもできます。

MySQLパスワードなしのrootログインを無効にするにはどうすればよいですか?

マニフェストはあなたにパスワードを要求しないログインを参照している何を、

class { '::mysql::server': 
    root_password => 'rootpassword', 
    override_options => { 'mysqld' => { 'max_connections' => '1024' } } 
} 
+1

おそらく、 '' root '@' localhost''のパスワードを設定し、 '' root '@'% '' – ptierno

+0

ではなく、@ptiernoにパスワードを設定します。同じのマニフェスト部分の任意のアイデアですか? –

+0

ちょうどmysql_userリソースを使用する:(壊れたフォーマットのために残念) 'mysql_user { 'ルート@%' =>本、 password_hash => mysql_password( 'rootpassword')を確認し、 }' – Ben

答えて

1

を適用optionfileにパスワードを保存おそらく.my.cnfです。

$ mysql :: server :: create_root_my_cnfをfalseに設定すると、これを無効にします。

class { '::mysql::server': 
    root_password => 'rootpassword', 
    create_root_my_cnf => false, 
    override_options => { 'mysqld' => { 'max_connections' => '1024' } } 
} 
+0

はい、すなわち正しい。そのマニフェストは私のルート(シェル)ユーザの下に.my.cnfを作成します。つまり、他のシェルユーザからのmysql rootパスワードを要求します。 私はあなたの例を試しました。それは動作します、ありがとう。 しかし、これは、それ以上のユーザー、db作成にエラーを投げます。 エラー:カタログの適用に失敗しました: '/ usr/bin/mysql -NBe SELECT CONCAT(ユーザー、' @ '、ホスト)ASユーザーFROM mysql.user'が返されました1:エラー '1045(28000):ユーザー' root '@' localhost '(パスワードを使用している)のアクセスが拒否されました:' –

+0

私のマニフェスト、 'class {':: mysql :: server': root_password => 'rootpassword'、 create_root_my_cnf => falseを、 override_options => { 'のmysqld' => { 'MAX_CONNECTIONS' => '1024'}}} のMySQL :: DB { 'MYDB' ユーザー=> 'ユーザ' パスワード=> 'pass'、 host => 'localhost'、 grant => ['SELECT '、' UPDATE ']、 } ' –

+0

また、私はあなたの最初のマニフェスト例 ' mysql_user {' root @% ':sure => present、password_hash => mysql_password(' rootpassword ')、} 'を試しました。 これは、私の思うようにファイルを作成せずに、パスワードなしでmysql rootユーザを作成する方法で動作します。私はmysqlコマンドではログインできませんが、mysql -u root -pで空のパスワードを受け入れることができます。 これにより、それ以上のユーザー、dbの組み合わせを作成する際にエラーをスローしません。 –

1

私は同じ問題を抱えていましたが、私にとっては簡単な〜root/.my.cnfファイルを作成することで問題は解決しました。ルート.my.cnfファイルに次を追加します。

[client] 
password="mysql root user password here" 

これにより、人形は再びmysqlに接続できます。 Puppetは、このファイルを独自の生成された設定で上書きします。

関連する問題