AWS Insight: RDS Parameter Groups - What and Why
Hello! 
Today I will talk about the parameter groups AWS RDS . As you know, RDS provides us with a simple entry point to the database. Neither the disk, nor the OS itself and the database settings, we have access. We are also limited by the rights of some superuser, but this is not root anyway.
RDS Parameter Groups allow you to create the desired configuration of your database. Today I’ll show an example of how to enable the possibility of creating stored procedures in RDS under MySQL. When creating the server, the default parameter group is created. In it, you can also see a list of available parameters:
As a matter of fact, these parameters can be changed, thereby tuning and adjusting the config of your database.
Let's move on to the example of creating and configuring a group parameter:
1. Create an extended-mysql group parameter
2. Change the parameter log_bin_trust_function_creators
That's all. This group option will enable you to create functions that will be stored in RDS.
3. Add the server to the group parameter
4. Reboot the server so that the settings apply
Do you use the group option for RDS? What rake faced when working with them? It is very interesting to hear something from someone else's experience!

Today I will talk about the parameter groups AWS RDS . As you know, RDS provides us with a simple entry point to the database. Neither the disk, nor the OS itself and the database settings, we have access. We are also limited by the rights of some superuser, but this is not root anyway.
RDS Parameter Groups allow you to create the desired configuration of your database. Today I’ll show an example of how to enable the possibility of creating stored procedures in RDS under MySQL. When creating the server, the default parameter group is created. In it, you can also see a list of available parameters:
$ rds-describe-db-parameters default.mysql5.1
Team output
DBPARAMETER allow-suspicious-udfs engine-default boolean static false
DBPARAMETER auto_increment_increment engine-default integer dynamic true
DBPARAMETER auto_increment_offset engine-default integer dynamic true
DBPARAMETER automatic_sp_privileges engine-default boolean dynamic true
DBPARAMETER back_log engine-default integer static true
DBPARAMETER basedir / rdsdbbin / mysql system string static false
DBPARAMETER binlog_cache_size 32768 system integer dynamic true
DBPARAMETER binlog_format MIXED system string dynamic false
DBPARAMETER bulk_insert_buffer_size engine-default integer dynamic true
DBPARAMETER character-set-client-handshake engine-default boolean static true
DBPARAMETER character_set_client engine-default string dynamic true
DBPARAMETER character_set_connection engine-default string dynamic true
DBPARAMETER character_set_database engine-default string dynamic true
DBPARAMETER character_set_filesystem engine-default string dynamic true
DBPARAMETER character_set_results engine-default string dynamic true
DBPARAMETER character_set_server engine-default string dynamic true
DBPARAMETER collation_connection engine-default string dynamic true
DBPARAMETER collation_server engine-default string dynamic true
DBPARAMETER completion_type engine-default integer dynamic true
DBPARAMETER concurrent_insert engine-default integer dynamic true
DBPARAMETER connect_timeout engine-default integer dynamic true
DBPARAMETER datadir / rdsdbdata / db / system string static false
DBPARAMETER default_storage_engine InnoDB system string dynamic false
DBPARAMETER default_time_zone engine-default string static false
DBPARAMETER default_week_format engine-default integer dynamic true
DBPARAMETER delay_key_write engine-default string dynamic true
DBPARAMETER delayed_insert_limit engine-default integer dynamic true
DBPARAMETER delayed_insert_timeout engine-default integer dynamic true
DBPARAMETER delayed_queue_size engine-default integer dynamic true
DBPARAMETER div_precision_increment engine-default integer dynamic true
DBPARAMETER event_scheduler engine-default string dynamic true
DBPARAMETER flush engine-default boolean dynamic false
DBPARAMETER flush_time engine-default integer dynamic true
DBPARAMETER ft_boolean_syntax engine-default string dynamic false
DBPARAMETER ft_max_word_len engine-default integer static true
DBPARAMETER ft_min_word_len engine-default integer static true
DBPARAMETER ft_query_expansion_limit engine-default integer static true
DBPARAMETER ft_stopword_file engine-default string static true
DBPARAMETER general_log engine-default boolean dynamic true
DBPARAMETER group_concat_max_len engine-default integer dynamic true
DBPARAMETER ignore_builtin_innodb 1 system boolean static false 5.1.49
DBPARAMETER init_connect engine-default string dynamic true
DBPARAMETER innodb_adaptive_flushing engine-default boolean dynamic true 5.1.49
DBPARAMETER innodb_adaptive_hash_index engine-default boolean static true
DBPARAMETER innodb_additional_mem_pool_size 2097152 system integer static true
DBPARAMETER innodb_autoextend_increment engine-default integer dynamic true
DBPARAMETER innodb_autoinc_lock_mode engine-default integer static true
DBPARAMETER innodb_buffer_pool_size {DBInstanceClassMemory * 3/4} system integer static true
DBPARAMETER innodb_change_buffering engine-default string dynamic true 5.1.49
DBPARAMETER innodb_commit_concurrency engine-default integer static true
DBPARAMETER innodb_concurrency_tickets engine-default integer dynamic true
DBPARAMETER innodb_data_home_dir / rdsdbdata / db / innodb system string static false
DBPARAMETER innodb_file_format engine-default string dynamic true 5.1.49
DBPARAMETER innodb_file_per_table 1 system boolean static true
DBPARAMETER innodb_flush_log_at_trx_commit engine-default integer dynamic true
DBPARAMETER innodb_flush_method O_DIRECT system string static false
DBPARAMETER innodb_io_capacity engine-default integer dynamic true 5.1.49
DBPARAMETER innodb_lock_wait_timeout engine-default integer static true
DBPARAMETER innodb_locks_unsafe_for_binlog engine-default boolean static false
DBPARAMETER innodb_log_buffer_size 8388608 system integer static true
DBPARAMETER innodb_log_file_size 134217728 system integer static false
DBPARAMETER innodb_log_group_home_dir / rdsdbdata / log / innodb system string static false
DBPARAMETER innodb_max_dirty_pages_pct engine-default integer dynamic true
DBPARAMETER innodb_max_purge_lag engine-default integer dynamic true
DBPARAMETER innodb_old_blocks_pct engine-default integer dynamic true 5.1.49
DBPARAMETER innodb_old_blocks_time engine-default integer dynamic true 5.1.49
DBPARAMETER innodb_open_files engine-default integer static true
DBPARAMETER innodb_random_read_ahead engine-default boolean dynamic true 5.1.61
DBPARAMETER innodb_read_ahead_threshold engine-default integer dynamic true 5.1.49
DBPARAMETER innodb_read_io_threads engine-default integer static true 5.1.49
DBPARAMETER innodb_replication_delay engine-default integer dynamic true 5.1.49
DBPARAMETER innodb_rollback_on_timeout engine-default boolean static true
DBPARAMETER innodb_spin_wait_delay engine-default integer dynamic true 5.1.49
DBPARAMETER innodb_stats_on_metadata engine-default boolean static true
DBPARAMETER innodb_stats_sample_pages engine-default integer dynamic true 5.1.49
DBPARAMETER innodb_strict_mode engine-default boolean dynamic true 5.1.49
DBPARAMETER innodb_support_xa engine-default boolean dynamic true
DBPARAMETER innodb_sync_spin_loops engine-default integer dynamic true
DBPARAMETER innodb_table_locks engine-default boolean dynamic true
DBPARAMETER innodb_thread_concurrency engine-default integer dynamic true
DBPARAMETER innodb_thread_sleep_delay engine-default integer dynamic true
DBPARAMETER innodb_use_legacy_cardinality_algorithm engine-default boolean dynamic false
DBPARAMETER innodb_use_sys_malloc engine-default boolean static true 5.1.49
DBPARAMETER innodb_write_io_threads engine-default integer static true 5.1.49
DBPARAMETER interactive_timeout engine-default integer dynamic true
DBPARAMETER join_buffer_size engine-default integer dynamic true
DBPARAMETER keep_files_on_create engine-default boolean dynamic true
DBPARAMETER key_buffer_size 16777216 system integer dynamic true
DBPARAMETER key_cache_age_threshold engine-default integer dynamic true
DBPARAMETER key_cache_block_size engine-default integer dynamic true
DBPARAMETER key_cache_division_limit engine-default integer dynamic true
DBPARAMETER language / rdsdbbin / mysql / share / mysql / english / system string static false
DBPARAMETER lc_time_names engine-default string dynamic true
DBPARAMETER local_infile 1 system boolean dynamic true
DBPARAMETER log-bin / rdsdbdata / log / binlog / mysql-bin-changelog system string static false
DBPARAMETER log_bin_trust_function_creators engine-default boolean dynamic true
DBPARAMETER log_error /rdsdbdata/log/error/mysql-error.log system string static false
DBPARAMETER log_output TABLE system string dynamic false
DBPARAMETER log_queries_not_using_indexes engine-default boolean dynamic true
DBPARAMETER log_slave_updates engine-default boolean static true
DBPARAMETER log_warnings engine-default integer dynamic true
DBPARAMETER long_query_time engine-default integer dynamic true
DBPARAMETER low_priority_updates engine-default boolean dynamic true
DBPARAMETER lower_case_table_names engine-default integer static true
DBPARAMETER max_allowed_packet engine-default integer dynamic true
DBPARAMETER max_binlog_cache_size engine-default integer dynamic true
DBPARAMETER max_binlog_size 134217728 system integer dynamic false
DBPARAMETER max_connect_errors engine-default integer dynamic true
DBPARAMETER max_connections {DBInstanceClassMemory / 12582880} system integer dynamic true
DBPARAMETER max_delayed_threads engine-default integer dynamic true
DBPARAMETER max_error_count engine-default integer dynamic true
DBPARAMETER max_heap_table_size engine-default integer dynamic true
DBPARAMETER max_insert_delayed_threads engine-default integer dynamic true
DBPARAMETER max_join_size engine-default integer dynamic true
DBPARAMETER max_length_for_sort_data engine-default integer dynamic true
DBPARAMETER max_prepared_stmt_count engine-default integer dynamic true
DBPARAMETER max_seeks_for_key engine-default integer dynamic true
DBPARAMETER max_sort_length engine-default integer dynamic true
DBPARAMETER max_sp_recursion_depth engine-default integer dynamic true
DBPARAMETER max_tmp_tables engine-default integer dynamic true
DBPARAMETER max_user_connections engine-default integer dynamic true
DBPARAMETER max_write_lock_count engine-default integer dynamic true
DBPARAMETER min_examined_row_limit engine-default integer dynamic true
DBPARAMETER myisam_data_pointer_size engine-default integer dynamic true
DBPARAMETER myisam_max_sort_file_size engine-default integer dynamic true
DBPARAMETER myisam_sort_buffer_size engine-default integer dynamic true
DBPARAMETER myisam_stats_method engine-default string dynamic true
DBPARAMETER myisam_use_mmap engine-default boolean dynamic true
DBPARAMETER net_buffer_length engine-default integer dynamic true
DBPARAMETER net_read_timeout engine-default integer dynamic true
DBPARAMETER net_retry_count engine-default integer dynamic true
DBPARAMETER net_write_timeout engine-default integer dynamic true
DBPARAMETER old-style-user-limits engine-default boolean static true
DBPARAMETER old_passwords engine-default boolean dynamic true
DBPARAMETER optimizer_prune_level engine-default boolean dynamic true
DBPARAMETER optimizer_search_depth engine-default integer dynamic true
DBPARAMETER optimizer_switch engine-default string dynamic true
DBPARAMETER pid_file /rdsdbdata/log/mysql-{EndPointPortasket.pid system string static false
DBPARAMETER plugin-load innodb = ha_innodb_plugin.so; innodb_trx = ha_innodb_plugin.so; innodb_locks = ha_innodb_plugin.so; innodb_lock_waits = ha_innodb_plugin.so; innodb_cmp = ha_innodb_plugin.so; innodb_cmp_reset = ha_innodb_plugin.so; innodb_cmpmem = ha_innodb_plugin.so; innodb_cmpmem_reset = ha_innodb_plugin. so system string static false 5.1.49
DBPARAMETER plugin_dir / rdsdbbin / mysql / lib / mysql / plugin system string static false
DBPARAMETER port {EndPointPort} system integer static false
DBPARAMETER preload_buffer_size engine-default integer dynamic true
DBPARAMETER profiling_history_size engine-default integer dynamic true
DBPARAMETER query_alloc_block_size engine-default integer dynamic true
DBPARAMETER query_cache_limit engine-default integer dynamic true
DBPARAMETER query_cache_min_res_unit engine-default integer dynamic true
DBPARAMETER query_cache_size engine-default integer dynamic true
DBPARAMETER query_cache_type engine-default integer static true
DBPARAMETER query_cache_wlock_invalidate engine-default boolean dynamic true
DBPARAMETER query_prealloc_size engine-default integer dynamic true
DBPARAMETER range_alloc_block_size engine-default integer dynamic true
DBPARAMETER read_buffer_size 262144 system integer dynamic true
DBPARAMETER read_only {TrueIfReplica} engine-default boolean dynamic true 5.1.50
DBPARAMETER read_rnd_buffer_size 524288 system integer dynamic true
DBPARAMETER relay-log / rdsdbdata / log / relaylog / relaylog system string static false 5.1.50
DBPARAMETER safe-user-create engine-default boolean static true
DBPARAMETER secure_auth engine-default boolean dynamic true
DBPARAMETER secure_file_priv / tmp system string static false
DBPARAMETER server_id {ServerId} system integer dynamic false 5.1.50
DBPARAMETER skip-character-set-client-handshake engine-default boolean static true
DBPARAMETER skip_external_locking engine-default boolean static false
DBPARAMETER skip_name_resolve engine-default boolean static true 5.1.57
DBPARAMETER skip_show_database engine-default boolean static false
DBPARAMETER slow_launch_time engine-default integer dynamic true
DBPARAMETER slow_query_log engine-default boolean dynamic true
DBPARAMETER socket /tmp/mysql.sock system string static false
DBPARAMETER sort_buffer_size engine-default integer dynamic true
DBPARAMETER sql_mode engine-default string dynamic true
DBPARAMETER sql_select_limit engine-default integer dynamic true
DBPARAMETER sync_binlog engine-default integer dynamic true
DBPARAMETER sync_frm engine-default boolean dynamic true
DBPARAMETER sysdate-is-now engine-default boolean static true
DBPARAMETER table_definition_cache engine-default integer dynamic true
DBPARAMETER table_open_cache engine-default integer dynamic true
DBPARAMETER temp-pool engine-default boolean static true
DBPARAMETER thread_cache_size engine-default integer dynamic true
DBPARAMETER thread_stack 196608 engine-default integer static true
DBPARAMETER timed_mutexes engine-default boolean dynamic true
DBPARAMETER tmp_table_size engine-default integer dynamic true
DBPARAMETER tmpdir / rdsdbdata / tmp system string static false
DBPARAMETER transaction_alloc_block_size engine-default integer dynamic true
DBPARAMETER transaction_prealloc_size engine-default integer dynamic true
DBPARAMETER tx_isolation engine-default string dynamic true
DBPARAMETER updatable_views_with_limit engine-default boolean dynamic true
DBPARAMETER wait_timeout engine-default integer dynamic true As a matter of fact, these parameters can be changed, thereby tuning and adjusting the config of your database.
Let's move on to the example of creating and configuring a group parameter:
1. Create an extended-mysql group parameter
$ rds-create-db-parameter-group extended-mysql -f mysql5.1 -d "allows to store functions"
2. Change the parameter log_bin_trust_function_creators
$ rds-modify-db-parameter-group extended-mysql --parameters="name=log_bin_trust_function_creators, value=on, method=immediate”
That's all. This group option will enable you to create functions that will be stored in RDS.
3. Add the server to the group parameter
$ rds-modify-db-instance myrdsserver --db-parameter-group-name=extended-mysql
4. Reboot the server so that the settings apply
$ rds-reboot-db-instance myrdsserver
Do you use the group option for RDS? What rake faced when working with them? It is very interesting to hear something from someone else's experience!