mysql多个实例

时间:2011-11-20 10:02:44

标签: mysql

我安装了一个版本的mysql。在此之后,我将MySQL文件夹复制到名为mysql2的新文件夹(以创建MySQL的第二个实例)。

我已将my.cnf更改为:

[mysqld_multi]
mysqld=/usr/bin/mysqld_safe
mysqladmin=/usr/bin/mysqladmin
log=/var/log/mysqld_multi.log
user=multi_admin
password=secret
[mysqld1]
port=3306
datadir=/var/lib/mysql
pid-file=/var/lib/mysql/mysql.pid
socket=/var/lib/mysql/mysql.sock
user=mysql
log-error=/var/log/mysql1.err
server-id=1
log-bin=mysql-bin

[mysqld2]
port=3308
datadir=/var/lib/mysql2
pid-file=/var/lib/mysql2/mysql.pid
socket=/var/lib/mysql2/mysql.sock
user=mysql
log-error=/var/log/mysql2.err
server-id=2
log-bin=mysql-bin

mysqld_multi开始,停止,报告的所有事情都可以。问题:

当我从命令行尝试时:mysql -P 3306。它连接到第一个实例。如果我尝试:mysql -P 3308。同样的事情。

如果我尝试:mysql -S /.../mysql2/mysql.sock。有用。我尝试时使用相同的第一个实例:mysql -S /.../mysql/mysql.sock

通过端口连接可以做什么?或者我如何从PHP连接到第二个实例,在命令行中我只能通过mysql.sock进行连接。

1 个答案:

答案 0 :(得分:3)

在Linux上,客户端始终通过套接字连接,除非您指定数字主机。所以

mysql -h127.0.0.1 -P3308

Mysql sandbox为您完成所有这些,但是对于生产,我会选择两台机器。