From: Peter Laursen [mailto:peter_laursen@webyog.com]
Sent: Dienstag, 5. April 2011 20:52
To: Vladislav Vaintroub
Cc: maria-developers@lists.launchpad.net; Kazuhisa Ichikawa; Philip Stoev; Arjen Lentz; haidong.ji@gmail.com
Subject: Re: Default parameter settings / Windows MSI installer
1) As I have already told I request a max_allowed_packet setting larger than 1M (in both [mysqld] and [mysqldump] sections). Oracle-MySQL sets 1M in [mysqld] and 16M in [mysqldump]. I prefer 64M in both actually. The reason is that BLOBs are commonly used to store images/photos and with recent digital cameras (10-18 Mpixel) it is not even possible to store an image from such cam in a single INSERT statement. MySQL server will 'go away' or 'receive a packet too large'.
This one belongs to the domain of “well defined compiled-in defaults”.. Increased compiled-in default value for max_allowed_packet has no potential to break an existing application. Myself, I do not see any harm in allowing 64MB by default, however I also do not fully understand denial-of-service potential , how big is a memory usage will be when 64MB statement is parsed, optimized etc. Maybe someone would know the story behind it better. I suggest to handle it in additional post , on this specific topic.
2) Oracle-MySQL sets STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION if user select 'strict mode' during configuration. NO_AUTO_CREATE_USER just means that GRANT will not create user - only CREATE USER + GRANT will. This I do not find important. So I am OK with 'strict wlad mode'. But I am not sure that strict mode should be default as long as it is not in *nix.
Hmm, right. Just checked what 5.5 installation created. This is „strict Arjen mode” to be exactJ In his Debian examples the comment IIRC was “just like on Windows, set strict mode”, and it had STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION. NO_AUTO_CREATE_USER looks rather exotic, makes me wonder what was the reason to include it here.
>I am not sure that strict mode should be default as long as it is not in *nix.
Should be default I think. MySQL Windows installer invented the strict-by-default schema, I guess we have to follow to be the “drop-in replacement” . Everyone loves “strict” anyway, right?
3) I agree that if InnoDB is default engine then the 'pool size' should be raised from default. Looks OK for a test/development server as typically used in Windows (but still a very low setting for a production server)
Agree, the proposed default settings of RAM/8 is not a for a dedicated server. In that case, DBA will correct this proposed number in the edit box during the install, or later, in my.ini
-- Peter
On Tue, Apr 5, 2011 at 20:30, Vladislav Vaintroub <wlad@montyprogram.com> wrote:
Hello,
After recent discussion about appropriate or not appropriate default setting
on in my.cnf , I have created a prototype minimal settings for Windows
installer.
Here is the picture of this attempt
http://cid-ff0c950417b4f8a4.office.live.com/self.aspx/share/dbsettings.png
For those who have familiar the 5.2 MSI installer already, what I have
added is a checkbox "Standard configuration", explanation text, and input
field for innodb bufferpool size (preset with RAM/8, in my case it is
8191/8=1023).
"Standard configuration" is on by default,
if it is "on", then 4 parameters are added to the my.ini file
1) default_storage_engine=innodb
2) innodb_buffer_pool_size=[VALUE_IN_EDIT_BOX]M
3) innodb_log_file_size= min(innodb_buffer_pool_size/4, 50)
I made this formula almost out of thin air and using some blog reading and
comments in the templates. It is likely that 50M is more than the average
user needs, however it only takes some disk space, and If user has to
increase from default 5MB , the procedure is awkward. I checked, MySQL
Config Wizard set this parameter to 54M on my box, so it is in the same
range.
4) sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
If "Standard configuration" is off, hen input field for bufferpool size is
disabled, and none of those 4 parameters is added to my.ini
Do you think it is useful in this form? So far I tried to avoid
"calibration" topics altogether since it is a controversial topic where
people never have same opinions. Also I tried to avoid it because I cannot
write GUIs . However, this one change is small in and it does not introduce
additional dialogs. It makes some important defaults the same as "standard
configuration" in existing MySQL installers. I think it was PeterL who
already asked for non-default buffer pool size already, also Monty also
spoke about it in Lisbon.
Comments welcome, also those on the picture above - I'm not sure if
wording and use of brackets and quotes is correct.
Wlad