一台linux上安装两台mysql_一台机器上安装多个MySQL的要点

一台机器上安装多个MySQL的要点

发布时间:2006-12-17 00:36:13来源:红联作者:anciens

MySQL5.0的官方文档中介绍的在LINUX下安装多个MySQL的方法,是编译源码,在编译之前指定安装目录。MySQL二进制安装包解压后,其中的INSTALL-BINARY文档,也只是说明要安装在/usr/local下。因此一直以来的印像,MySQL二进制安装包只能安装在/usr/local下。

最近发现一位同事把二进制安装包安装在了/root下,而MySQL服务也可以正常使用。于是在自己的机器上试了一下,果然是可以安装在其他目录下的。我试的是MySQL5.0.30。

比如可以把它安装在某LINUX用户的HOME目录下,比如有个用户是test,它的HOME目录是/home/test。把二进制安装包解压在/home/test下。建一个符号链接/home/test/mysql指向解压出来的目录。INSTALL-BINARY中的步骤,只要运行mysql_install_db,但不需要加--user=mysql。注意不论解压还是执行上面的脚本,都不是以root身份运行的,是以test身份运行的。

安装完成以后,需要自己编辑一个my.cnf,其中必须要设置有如下几项:

[client]

socket=/home/test/mysql/mysql.sock

[mysqld]

socket=/home/test/mysql/mysql.sock

port=3308

basedir=/home/test/mysql

datadir=/home/test/mysql/data

把这个my.cnf可以放在/home/test/mysql下面

以test身份启动服务:

/home/test/mysql/bin/mysqld --defaults-file=/home/test/mysql/my.cnf &

这样mysqld会使用指定的这个配置文件,而不会去读取默认位置的配置文件,比如/etc/my.cnf。

上面的配置是使用了3308端口来为其他机器提供MYSQL服务,使用的unix socket,位置在/home/test/mysql/mysql.sock,也不会与该机器上的其他MYSQL服务冲突。

该机器上使用mysql客户端访问各个MYSQL服务,只需要指定不同的sokcet位置就行了,比如:

mysql --socket=/home/test/mysql/mysql.sock

或者

mysql --defaults-file=/home/test/mysql/mysql.cnf

如果需要从其他的机器,访问以上述方式建立的MYSQL服务,需要指定端口。比如:

mysql -h 172.20.10.10 --port=3308

以上述方法,可以在一台机器上装很多个MySQL。每个MYSQL占用一个端口、有各自的mysql.sock,每个MySQL可由一个单独的LINUX帐号来管理。这在开发或者测试环境中,可能是比较有价值的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值