my.cnf is not installed after Percona Server install

Bug #673844 reported by Valentine Gostev on 2010-11-11
58
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Invalid
Undecided
Unassigned
5.1
Won't Fix
Undecided
Unassigned
5.5
Won't Fix
Undecided
Unassigned
5.6
Invalid
Undecided
Unassigned

Bug Description

Default configuration file is not installed after Percona Server installation.

x86_64 architecture

[root@vps103 ~]# rpm -qa | grep Percona-Server
Percona-Server-shared-51-5.1.51-rel11.5.132.rhel5
Percona-Server-client-51-5.1.51-rel11.5.132.rhel5
Percona-Server-server-51-5.1.51-rel11.5.132.rhel5
[root@vps103 ~]# cat /etc/*release*
CentOS release 5.5 (Final)
[root@vps103 ~]#

Only these *cnf* files are available:
[root@vps103 ~]# find / | grep cnf
/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-small.cnf
/usr/share/doc/Percona-Server-server-51-5.1.51/my-huge.cnf
/usr/share/doc/Percona-Server-server-51-5.1.51/my-medium.cnf
/usr/share/doc/Percona-Server-server-51-5.1.51/my-large.cnf
/usr/share/doc/Percona-Server-server-51-5.1.51/my-innodb-heavy-4G.cnf
/usr/share/doc/Percona-Server-server-51-5.1.51/my-small.cnf
/etc/pki/tls/openssl.cnf
[root@vps103 ~]#

Vadim Tkachenko (vadim-tk) wrote :

It is expected behavior,
after installation user should install needed my.cnf and tune it manually.

Changed in percona-server:
status: New → Won't Fix

But it would be better to create event empty config file (just with commect "create your own"). It is confusing now.

*even empty

Changed in percona-server:
assignee: nobody → Ignacio Nin (ignacio-nin)
importance: Undecided → Wishlist
Cyrille (cyrille-bartholomee) wrote :

Here I cannot find any clear explanation why my.cnf is not shipped by default. This means a clean installation of Percona is partially broken until manual intervention. Of course I know I have to check my configuration after installation, but that is not a valid argument for leaving a default configuration out. I also know there is no one-size-fits-all configuration, but this wasn't an issue in version 5.1. Moreover I think installation of Percona should be as close as possible like a standard MySQL installation, although I know Percona is not MySQL. This means that, in case a default configuration would only be applicable for 1% of the users, at least 1% can start working without any problem. Right now we have the situation of users shooting themselves in the foot not knowing they have to create their own configuration, which is not obvious for users new to Percona.

One more thing. I found out about the missing configuration when upgrading my Percona installation from 5.1 to 5.5 in my testing environment. Purging the old 5.1 installation files removed the my.cnf file. I have this habit of keeping my system clean and tidy (as every administrator should), and purge old not used packages. Purging maybe not the best practice, but it is only in this case of cross package dependency it is causing trouble.

Hope my considerations can help to improve your products.

(ps. I originally made this comment in question #186599)

Changed in percona-server:
status: Won't Fix → Opinion
Avleen Vig (avleen) wrote :

I completely agree with the other posts here.
Expected behavior of any shipped package which requires a configuration file is to provide a default template configuration.
MySQL distributions have ALWAYS done this, and I can see zero good reason to change this.

Expected result of including a default configuration:
  People who aren't DBAs but willing to start out slow will be able to get going quickly.
  People who are DBAs will not care.

Expected result of not including a default configuration:
  For people installing Percona 5.5 the first time (eg, me, who has years of MySQL/Percona experience) now has to sit here and hand craft a new configuration for what was supposed to be a trivial use case and only needed a very basic MySQL install (one where I could tweak the config later but I needed to not care about the DB for now).

The moment I saw the configuration file wasn't there, I installed PostgreSQL. Extreme reaction? maybe. But PostgreSQL was up and running in under 2 minutes. That's what I care about. You've made it too difficult now, for the many people who don't want to worry about their database.

It's EASY to include sane defaults which minimally work and at least let people get started.
Even the stock MySQL 5.5 package for Ubuntu can seem to manage this. Please reconsider this decision.
Not everyone is a DBA, and not everyone has time to build a configuration file from scratch.

Avleen Vig (avleen) wrote :

I will add that yes, I know there are examples in /usr/share/mysql/*
That is besides the point.

Luis Lobo (luislobo) wrote :

I second the opinion of having a default my.cnf. I got desoriented not having one!

Geoff Flarity (geoff-flarity) wrote :

This burned me today. At the very least something with a bunch of stuff commented out except the line that includes conf.d/ would have been fine!

Sam Darwin (samueldarwin) wrote :

I feel like having an emotional reaction right now, such as strangling the person who made this decision. It is highly irrational. But I am having it. Nevermind.

Vadim Tkachenko (vadim-tk) wrote :

Percona-Server packages are designed to be compatible with official MySQL packages (one you can download from dev.mysql.com). MySQL packages do not provide my.cnf, therefore we do not provide it also.
What probably should be done better is to document this issue in our corresponding documentation section "Installing from RPM"

Changed in percona-server:
assignee: Ignacio Nin (ignacio-nin) → Hrvoje Matijakovic (hrvojem)
Cyrille (cyrille-bartholomee) wrote :

The packages you provide are also compatible with specific destributions.
If I check the Debian packages provided on dev.mysql.com then MySQL is installed under /opt. Which is not the case either for the MySQL packages in the Debian repo nor for the Percona packages in Perconas repo. So if Percona is willing to follow specific distributions regulatuions, then it should do it also for the default my.cnf file.

So the only thing that should be done better is make packages fully compatible with distributions regulations.

Alexey Kopytov (akopytov) wrote :

MySQL 5.6.8 comes with my-default.cnf which is installed as my.cnf if it doesn't exist yet. Which means the same behavior will be in Percona Server 5.6.8+.

Cyrille (cyrille-bartholomee) wrote :

Great! Thanks a lot!

IT (7y) wrote :

Registered to Luanchpad just to add my 2 cents here.

I'm installing Percona for the 1st time and I would just like to state that the xtradb installation instructions simply mention ...

wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address=gcomm://10.11.12.206
wsrep_slave_threads=8
wsrep_sst_method=rsync
#wsrep_sst_method=xtrabackup - alternative way to do SST
wsrep_cluster_name=percona_test_cluster
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1

... with no sections [mysqld]?, what is the ip address to put (local machine or a remote one), no mention taht default_storage_engine innodb will default to xtradb...

I agree that not putting a default configuration is a good idea, but at least, could you mention it in your instructions! Also, reference or link to a guide to create the my.cfg would not be a bad idea also. So far, googling directed me to http://tools.percona.com, but for the heck of me, why not linking this in your instructions?

Alexey Kopytov (akopytov) wrote :

IT,

Thanks for the feedback. I've reported the clarification request for the XtraDB cluster installation instructions as https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1085631 and the request to link to http://tools.percona.com as https://blueprints.launchpad.net/percona-server/+spec/refer-to-tools-percona-com.

Robin Bowes (robinbowes) wrote :

FWIW, my opinion is that there *should* be a default config file put in place with the RPM.

What's more confusing is that the file is listed as being present in the RPM:

$ rpm -ql Percona-Server-server-55 | grep my.cnf
/etc/my.cnf

I spent quite some time trying to figure out why a file listed in the RPM manifest was not installed - I'm still not sure.

Please, add a default config file to the install or, at the very least, clean up the RPM.

R.

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-2569

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions