Well I would not bother with the source distro as it can take a while to compile, and possibly end up being slower than a pre-compiled version.
Personally I would choose between the .tar.gz or the RPM versions. The RPM version is basically self-installing, and also installs the scripts to start the server at boot-up time. You could download and install the RPM binary to get you started, then download the .tar.gz binary to do a custom installation later on if you wanted to run different versions at the same time, eg for testing upgrades before making using them on the live databases. The statically-linked .tar.gz binaries would be the most flexible option as they do not eally on any external libraries at run-time. AFAIK you cannot run two different RPM binary versions at the same time, because you have no control over where the RPM packages are installed. Normally a RPM upgrade will overwrite the previous RPM version - which is OK if you are only doing minor upgrades, and are confident that there will be no problems with the upgrade process. The .tar.gz binaries give you the option to choose where to install the server files. This means you can have different versions of the .tar.gz distro's on one machine, and run each mysql server on the same machine for testing your upgrades, by using a different port, socket pid-file and database (even a snapshot of your live data for testing purposes that you can throw away later). Each mysql version could have it's own unique my.cnf file with just a [mysqld] section and nothing else for that particular version, in it's installation directory. Eg. # /usr/local/mysql-<version>/my.cnf # MySQL server configuration file # last updated 2006-03-08 # mysql client program configuration file lives in /etc/my.cnf #--------------------------------------------------------------------------- # mysqld server configuration options #--------------------------------------------------------------------------- [mysqld] basedir=/usr/local/mysql-5.0.18 ## use for testing multiple instances of mysqld ## these parameters are normally passed to mysqld ## from the start-mysql-5.0.18 script ## ##basedir=/usr/local/mysql-5.0.18 ##port=7005 ##socket=/usr/local/mysql-5.0.18/data/mysql.sock ##pid-file=/usr/local/mysql-5.0.18/data/laptop.pid ##datadir=/usr/local/mysql-5.0.18/data ##user=mysql server-id=1 #skip-networking skip-name-resolve skip-locking set-variable = key_buffer=16M set-variable = max_allowed_packet=1M set-variable = table_cache=64 set-variable = sort_buffer=512K set-variable = net_buffer_length=8K set-variable = myisam_sort_buffer_size=8M # logging options log=5-0-18.log log-bin=laptop-bin log-error=5-0-18.error-log log-queries-not-using-indexes log-slow-admin-statements log-slow-queries=5-0-18.slow-log log-warnings #--------------------------------------------------------------------------- # end of mysqld server configuration file # /usr/local/mysql-<version>/my.cnf As /etc/my.cnf is the first place all mysql client programs seem to look by default (as well as the server, which is why I do not put any configuration section for the server in /etc/my.cnf), your mysql clients could all share one common my.cnf, Eg. # /etc/my.cnf # MySQL client program configuration file # last updated 2006-03-05 # mysqld server configuration file lives in # /usr/local/mysql-<version>/my.cnf #--------------------------------------------------------------------------- # mysql client program configuration options #--------------------------------------------------------------------------- [mysql] no-auto-rehash # needed for security - to stops multiple deletes/updates # without a where clause safe-updates #--------------------------------------------------------------------------- # The following options will be passed to all MySQL clients [client] socket = /var/lib/mysql/mysql.sock port = 3333 #--------------------------------------------------------------------------- [myisamchk] set-variable = key_buffer=20M set-variable = sort_buffer=20M set-variable = read_buffer=2M set-variable = write_buffer=2M #--------------------------------------------------------------------------- [mysqldump] quick set-variable = max_allowed_packet=16M #--------------------------------------------------------------------------- # available programs/scripts are: #my_print_defaults mysqladmin #myisamchk mysqlbinlog #myisamlog mysqlbug - n/a #myisampack mysqlcheck #mysql mysqld #mysql_convert_table_format - .pl mysqld_multi #mysql_find_rows mysqldump #mysql_fix_privilege_tables n/a mysqlhotcopy - .pl #mysql_install_db mysqlimport #mysql_setpermission - .pl mysqlshow #mysql_zap mysqltest #mysqlaccess - .pl safe_mysqld #--------------------------------------------------------------------------- # end of mysql client program configurations # /etc/my.cnf So this approach will allow you to install multiple mysqld servers if you wanted to, all with their own unique my.cnf configuration files, and also allow you to use one global /etc/my.cnf for all the other mysql client programs. Hope all this makes sense Shivaji! Regards Keith Roberts In theory, theory and practice are the same; in practice they are not. To unsubscribe from this list, please see detailed instructions already posted at: http://marc.theaimsgroup.com/?l=php-install&m=114138567814319&w=2 On Thu, 4 May 2006, Shivaji S wrote: > To: mysql@lists.mysql.com > From: Shivaji S <[EMAIL PROTECTED]> > Subject: Mysql on Production Servers > > Hi, I have doubt on Mysql download and installation 1.Which mysql download is better to install on production server rpm installation or binary installation or source installation 2.What are the difference between them. Regards, Shivaji. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]