Puppet MySQL отключить вход пользователя root без пароля

За последние несколько часов я перебрал несколько веток по проблемам, связанным с модулем puppetlabs-mysql, чтобы обойти мою проблему.

Установка MySQL на моем агентском узле с этим модулем позволяет входить в систему пользователю без пароля. Но я вижу, что учетные данные были установлены для пользователя root, и я также могу войти в систему, используя эти учетные данные.

Какую разницу я должен внести в мой манифест, чтобы отключить MySQL без пароля для входа в систему root?

Манифест применяется,

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

2 ответа

Решение

То, что вы называете " входом без пароля" - это, скорее всего, .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' } }
}

У меня была та же проблема, и для меня, создание простого файла ~root/.my.cnf устранило проблему. Добавьте следующее в корневой файл.my.cnf:

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

Это позволяет марионетке снова подключиться к mysql. Затем Puppet перезапишет этот файл своей собственной сгенерированной конфигурацией.

Другие вопросы по тегам