user863873
user863873

Reputation:

mysql multiple instances

I have installed one version of mysql. After this I copy the MySQL folder to a new folder called mysql2 (to make the second instances of MySQL).

I have changed the my.cnf to this:

[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

From mysqld_multi all the things about start, stop, report is ok. The problem:

When I try from comand line: mysql -P 3306. It connect to the first instances. If I try: mysql -P 3308. The same thing.

If I try: mysql -S /.../mysql2/mysql.sock. It works. The same whit first instances when I try: mysql -S /.../mysql/mysql.sock.

What can I do to connect by port? Or how can I connect from PHP to second instances where in comand line I can do it only by mysql.sock.

Upvotes: 2

Views: 3671

Answers (1)

Andreas Wederbrand
Andreas Wederbrand

Reputation: 40021

On Linux the client always connects through sockets unless you specify a numeric host. So

mysql -h127.0.0.1 -P3308

Mysql sandbox does all this for you, but for production I would go with two machines.

Upvotes: 3

Related Questions