> 数据库 > MySQL >

Linux安装多个MySQL

通用安装方法 tar.gz
单个数据库时安装方法:http://blog.chinaunix.net/uid-29632145-id-4608529.html     
接下来是对多个数据库安装的一下注意点:
1.编辑安装目录下my.cnf文件没有创建复制一个
添加:
port = 3316
socket = /tmp/mysql-3316.sock
开启服务的时候回来读取这个配置文件;
2.编辑mysqld服务
将scripts/mysql.server服务脚本,打开编辑添加
basedir=/usr/local/mysql-3316/
datadir=/usr/local/mysql-3316/data

测试:
a.       检查是否已安装,grep的-i选项表示匹配时忽略大小写
[root@localhost JavaEE]#rpm -qa|grep -i mysql

mysql-libs-5.1.61-4.el6.i686

*可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了--nodeps选项,忽略了依赖关系:

[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.i686 --nodeps

b.     添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。

[root@localhost JavaEE]#groupadd mysql

[root@localhost JavaEE]#useradd -r -g mysql mysql



执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,或者用root执行,但是加上参数--user=mysql。

[root@localhost mysql]scripts/mysql_install_db --user=mysql


在安装目录执行./support-files/mysql.server start --socket=/tmp/mysql-3316.sock
如果服务启动成功并能启动则执行
cp support-files/mysql.server /etc/init.d/mysqld-3316
复制到系统服务并设置开机启动(具体参照单个数据库安装的文章)

*通过chkconfig命令将mysqld服务加入到自启动服务项中。

[root@localhost mysql]#chkconfig --add mysqld-3316



说明:启动服务的时候会先去读取/etc/my.cnf如果没有则读取安装目录下的*.cnf文件。读取相应的信息
服务脚本只需指定安装目录basedir和data目录就行
3.运行
mysql --socket=/tmp/mysql-3316.sock,否者会报错
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)


安装主要是
a.初始化数据库数据
b.my.cnf配置文件
c.根目录/support-files/mysql.server的服务脚本配置


(责任编辑:IT)