日期:2014-05-16  浏览次数:20698 次

在rhel5中安装多个mysql5
1、使用rpm正常安装

2、复制文件
(假设要安装到/my_mysql目录)
mkdir /my_mysql
mkdir /my_mysql/bin
mkdir /my_mysql/sbin
mkdir /my_mysql/data
mkdir /my_mysql/var

cp /usr/bin/mysql* /my_mysql/bin/
cp /usr/sbin/mysql* /my_mysql/sbin/

# 数据库文件
cp /var/lib/mysql/* /my_mysql/data/
rm /my_mysql/data/ib* /my_mysql/data/*.err #删除一些文件

#以后用来启动和停止服务的脚本
cp /usr/sbin/rcmysql /my_mysql/mysql-server

#配置文件
cp /usr/share/mysql/my-medium.cnf /my_mysql/my.cnf

3、修改配置文件

1)修改/my_mysql/mysql-server

·修改路径
basedir=.
datadir=./data
(大概在46行左右)

·修改锁文件
lock_file_path="$lockdir/mysql-xx"
(大概在58行左右)

·修改parse_server_arguments()方法
添加case中添加:
*=*) other_args="$other_args $arg";;

·修改my.cnf的位置
将conf=/etc/my.cnf修改为conf=./my.cnf
(大概在214行左右)

2)修改/my_mysql/my.cnf
[mysqld]
port            = 3308
socket          = /my_mysql/var/mysql.sock
pid-file        = /my_mysql/var/mysql.pid
log-error       = /my_mysql/var/mysql.log
#支持中文,不要用default-character-set=utf8
character-set-server=utf8

4、启动
/my_mysql/mysql-server start

5、注意
1)在本地用mysql客户端时,要指定在my.cnf中配置的socket
mysql --socket=/my_mysql/var/mysql.sock

2)如果启动服务时老报pid文件找不到,可能是受rhel5的安全机制的影响。如果不是很在意,可以禁止这个功能。如下:
修改文件/etc/selinux/config
将SELINUX修改成SELINUX=disabled