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]

Reply via email to