Spec-Zone.ru › Chef 18

mysql_conf ресурс

[редактировать на GitHub]

Используйте mysql_conf ресурс аудита Chef InSpec для проверки содержимого файла конфигурации MySQL, который обычно находится по адресу /etc/mysql/my.cnf или /etc/my.cnf.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс впервые стал доступен в версии v1.0.0 InSpec.

Синтаксис

Блок ресурса mysql_conf объявляет одну (или несколько) настройки в файле my.cnf, а затем сравнивает настройку в файле конфигурации со значением, указанным в тесте:

describe mysql_conf('path') do
  its('setting') { should eq 'value' }
end

# Test a parameter set within the [mysqld] section
describe mysql_conf do
  its('mysqld.port') { should cmp 3306 }
end

# Test a parameter set within the [mariadb] section using array notation
describe mysql_conf do
  its(['mariadb', 'max-connections']) { should_not be_nil }
end

где

  • 'setting' определяет настройку в файле my.cnf, например, max_connections
    • при проверке настройки внутри разделов, таких как [mysqld], имя раздела должно быть указано
  • ('path') — это путь к файлу my.cnf по умолчанию
  • should eq 'value' — это ожидаемое значение

Свойства

Этот ресурс поддерживает любые настройки, указанные в файле my.cnf, в качестве свойств. Например, max_connections.

its('max_connections') { should eq '505' }

Примеры

Следующие примеры демонстрируют, как использовать этот ресурс аудита Chef InSpec.

Проверка максимального количества разрешенных подключений

describe mysql_conf do
  its('max_connections') { should eq '505' }
  its('max_user_connections') { should eq '500' }
end

Проверка ведения журнала медленных запросов

describe mysql_conf do
  its('slow_query_log_file') { should eq 'hostname_slow.log' }
  its('slow_query_log') { should eq '0' }
  its('log_queries_not_using_indexes') { should eq '1' }
  its('long_query_time') { should eq '0.5' }
  its('min_examined_row_limit') { should eq '100' }
end

Проверка порта и сокета, на которых MySQL прослушивает

describe mysql_conf do
  its('port') { should eq '3306' }
  its('socket') { should eq '/var/run/mysqld/mysql.sock' }
end

Проверка переменных соединения и потоков

describe mysql_conf do
  its('port') { should eq '3306' }
  its('socket') { should eq '/var/run/mysqld/mysql.sock' }
  its('max_allowed_packet') { should eq '12M' }
  its('default_storage_engine') { should eq 'InnoDB' }
  its('character_set_server') { should eq 'utf8' }
  its('collation_server') { should eq 'utf8_general_ci' }
  its('max_connections') { should eq '505' }
  its('max_user_connections') { should eq '500' }
  its('thread_cache_size') { should eq '505' }
end

Проверка параметра safe-user-create

describe mysql_conf.params('mysqld') do
  its('safe-user-create') { should eq('1') }
end

Матчеры

Полный список доступных матчеров вы найдете на нашей странице матчеров.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/mysql_conf/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API