-
Notifications
You must be signed in to change notification settings - Fork 795
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_buffer
parameter tomysql::config
thread_stack
parameter tomysql::config
thread_cache_size
parameter tomysql::config
myisam-recover
parameter tomysql::config
query_cache_limit
parameter tomysql::config
query_cache_size
parameter tomysql::config
max_connections
parameter tomysql::config
tmp_table_size
parameter tomysql::config
table_open_cache
parameter tomysql::config
long_query_time
parameter tomysql::config
Replication parameters:
server_id
parameter tomysql::config
sql_log_bin
parameter tomysql::config
log_bin
parameter tomysql::config
max_binlog_size
parameter tomysql::config
binlog_do_db
parameter tomysql::config
expire_logs_days
parameter tomysql::config
log_bin_trust_function_creators
parameter tomysql::config
replicate_ignore_table
parameter tomysql::config
replicate_wild_do_table
parameter tomysql::config
replicate_wild_ignore_table
parameter tomysql::config
expire_logs_days
parameter tomysql::params
max_binlog_size
parameter tomysql::params