-
Notifications
You must be signed in to change notification settings - Fork 796
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement character_set and other options #167
Conversation
client character set
* Adding `thread_stack` parameter to `mysql::config` * Adding `thread_cache_size` parameter to `mysql::config` * Adding `myisam-recover` parameter to `mysql::config` * Adding `query_cache_limit` parameter to `mysql::config` * Adding `query_cache_size` parameter to `mysql::config` * Adding `max_connections` parameter to `mysql::config` * Adding `tmp_table_size` parameter to `mysql::config` * Adding `table_open_cache` parameter to `mysql::config` * Adding `long_query_time` parameter to `mysql::config` * Updating mysql_config spec tests * Fixing lint warnings
* Adding `sql_log_bin` parameter to `mysql::config` * Adding `log_bin` parameter to `mysql::config` * Adding `max_binlog_size` parameter to `mysql::config` * Adding `binlog_do_db` parameter to `mysql::config` * Adding `expire_logs_days` parameter to `mysql::config` * Adding `log_bin_trust_function_creators` parameter to `mysql::config` * Adding `replicate_ignore_table` parameter to `mysql::config` * Adding `replicate_wild_do_table` parameter to `mysql::config` * Adding `replicate_wild_ignore_table` parameter to `mysql::config` * Adding `expire_logs_days` parameter to `mysql::params` * Adding `max_binlog_size` parameter to `mysql::params`
|
Any luck getting the build to pass? I'd like to see the functionality for this commit merged into master. |
Conflicts: manifests/config.pp manifests/params.pp
|
Fixed |
|
I'm wondering if we're reaching the point where we need to rethink how we're configuring mysql altogether. Rather than attempting to provide for every possible option as a variable we might want to think about a conversion to passing in a config hash that has just the defaults as standard. This would let users create a mysql::config_hash entry in hiera and pass in a full mysql configuration without us having to handle each configuration option by hand. Upsides: No more PRs for adding new options. |
|
The idea around Puppet modules (that I have always worked toward) was that the knowledge of domain experts would be distilled into logic that not only makes for easy, automated set up but also advanced configuration. As many configuration options as possible should be provided, and verification inside the module that options work well together and follow best practice should be encouraged. This does lead to two things:
Of course there comes a point where a user should just start dropping their own files in /etc/mysql/conf.d. Perhaps this should be better documented? |
|
Yeah, it's a tough distinction. I think it would be possible to have a base configuration hash, toggles that merge other hashes with the main configuration hash, and then finally the ability to pass in custom_config => {} stuff that also gets merged into the main hash would certainly meet the goals of allowing for automated choices while allowing advanced users to override and inject new configuration options. I think as an end user it becomes overwhelming to open init.pp and see hundreds of variables at all the same top level. It's hard to see what's important and what's just there for advanced users to tweak. Admittedly we should always support adding conf.d/ type stuff anywhere it's possible for advanced users. We should make that usage clear. |
This is an excellent explanation of why a module should contain more than simple "configuration pass-through" abilities :).
Also true. The issues with 1. in the past is that sufficient amounts of time were not accounted for this, but we are working to fix that. As for 2., we continue to rely heavily on community members such as yourself for this kind of quality input and resource scaling. Thanks for contributing!
This is what the defined resource Any input you have on this would be appreciated! |
Configuration of Mysql Server is flat by design and options usually realized several functions at the same time. That’s why it is impossible to predict all configurations of mysql in a several narrow specialized classes. |
|
What's the result? |
|
Hey, Can you rebase this against master as we've been merging in other PRs and it's no longer cleanly mergable. I'd like to get this merged for now and argue over other ways to configure things in future. :) |
Conflicts: manifests/config.pp
|
Done. Ashley thanks for your work. |
|
Hey, still a few issues remaining: CONFLICT (content): Merge conflict in spec/classes/mysql_config_spec.rb This is all my fault as I just merged even more PRs while trying to catch everything up. I won't commit anything else until you have a chance to look at these, promise. :) |
Conflicts: manifests/config.pp spec/classes/mysql_config_spec.rb
|
Done. |
Implement character_set and other options
|
And merged, thanks for all your work on this, it was a huge PR and I appreciate you putting in the work. |
|
👍 |
(maint) Release MergeBack PR v1.4.0
You can change the default server and client character set.
http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html
Performance tuning parameters:
key_bufferparameter tomysql::configthread_stackparameter tomysql::configthread_cache_sizeparameter tomysql::configmyisam-recoverparameter tomysql::configquery_cache_limitparameter tomysql::configquery_cache_sizeparameter tomysql::configmax_connectionsparameter tomysql::configtmp_table_sizeparameter tomysql::configtable_open_cacheparameter tomysql::configlong_query_timeparameter tomysql::configReplication parameters:
server_idparameter tomysql::configsql_log_binparameter tomysql::configlog_binparameter tomysql::configmax_binlog_sizeparameter tomysql::configbinlog_do_dbparameter tomysql::configexpire_logs_daysparameter tomysql::configlog_bin_trust_function_creatorsparameter tomysql::configreplicate_ignore_tableparameter tomysql::configreplicate_wild_do_tableparameter tomysql::configreplicate_wild_ignore_tableparameter tomysql::configexpire_logs_daysparameter tomysql::paramsmax_binlog_sizeparameter tomysql::params