2

実行中の github スレッドがありました (閉じられているようで、多数のコミット/マージが行われています)。

VirtualBox と Vagrant は 2 週間も経っていませんが: *編集: まだ /root/.my.cnf に関連するエラーが表示されます。

mysql および stdlib モジュールを master に更新しました。

# MySQL Server
class { 'mysql::server':
    config_hash => {
       'root_password' => 'foobah'
    }
 }

#class { 'mysql::server': } have tried it like this to try not having a root password. But it still attempted to use the /root/.my.cnf file. 

mysql::db { 'data_base':
    user     => 'user',
    password => 'pass',
    host     => 'localhost',
    grant    => ['all'],
    charset => 'utf8',
}

ルートとしてDBなどを作成するコマンドを実行するたびに、次のようになります。

err: /Stage[main]//Mysql::Db[data_base]/Database[data_base]/ensure: change from absent to present failed: Execution of '/usr/bin/mysql --defaults-file=/root/.my.cnf -NBe create database `data_base` character set utf8' returned 1: Could not open required defaults file: /root/.my.cnf
Fatal error in defaults handling. Program aborted
4

2 に答える 2

2

はい、それは順序付けの問題でした (独自の (動作する) Ubuntu mysql マニフェストを開発した後、何を探すべきかがよくわかりました)。

必要な mysql::db 部分:

require => File['/root/.my.cnf'],

追加で改訂:

# MySQL Server
class { 'mysql::server':
    config_hash => {
       'root_password' => 'foobah'
    }
}

mysql::db { 'data_base':
    user     => 'user',
    password => 'pass',
    host     => 'localhost',
    grant    => ['all'],
    charset => 'utf8',
    require => File['/root/.my.cnf'],
}
于 2013-01-04T22:01:13.477 に答える
0

/root/.my.cnf に言及しているエラーに基づいて、興味があります。このファイルのアクセス許可は何ですか? このコマンドの出力を貼り付けることはできますか?

stat /root/.my.cnf && lsattr /root/.my.cnf

これはアクセス許可が問題のように思えますが、現時点では再現できないため、知る前にアクセス許可を確認する必要があります。また、今は重要ではありませんが、さらに掘り下げると重要になる可能性があります。どのバージョンの Puppet を実行していますか?

于 2013-01-04T02:34:21.373 に答える