首页 > linux相关, mysql相关, php相关, 只谈技术 > linux下如何在一台机器上安装多个mysql实例

linux下如何在一台机器上安装多个mysql实例

2010年4月27日 发表评论 阅读评论

最近再做个mysql一从多主的配置,需要在一台机器上安装多个mysql。
起先是按照复制了多了mysql 同时起,在琢磨如何做启动脚本的时候发现support-files目录下有个mysqld_multi.server文件,一查发现原来是现成的多实例管理工具。
首先得新建个data目录给新的实例,可以把原来的data目录复制个新的 只需要mysql库,也可以用工具部属个

1
./scripts/mysql_install_db --basedir=/usr/local/mysql3307 --datadir=/mysql/mysql3307/data --user=mysql

然后修改下my.cnf
主要增加

1
2
3
4
5
6
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = shutdown
password = 123456
log = /mysql/mysqld_multi.log

然后把原来的 [mysqld] 改为 [mysqld1]
在新增新的实例配置

1
2
3
4
5
6
[mysqld2]
port = 3307
socket = /tmp/mysql3307.sock
datadir = /storage/mysql/data3307
............
............

然后把 mysqld_multi.server 做成启动服务

1
2
3
4
5
6
cp ./support-files/mysqld_multi.server /etc/rc.d/init.d/mysqld
chown root:root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 3 mysqld on
chkconfig --level 5 mysqld on

启动和关闭全部mysql实例
启动:service mysqld start
关闭:service mysqld stop

对单台数据库的启动和关闭
启动: service mysqld start 1
关闭: service mysqld stop 1

也可以同时启动和关闭多个数据库实例
启动: service mysqld start 1-2
关闭: service mysqld stop 1-2

如果启动的时候提示出错信息:
WARNING: my_print_defaults command not found.
Please make sure you have this command available and
in your path. The command is available from the latest
MySQL distribution.
ABORT: Can’t find command ‘my_print_defaults’.
This command is available from the latest MySQL
distribution. Please make sure you have the command
in your PATH.

先添加
export PATH=/usr/local/mysql/bin:$PATH
然后在启动mysql





  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.