clean PXC instance complains about its port being unavailable

So, a bit of explanation of the big picture: I am trying to get multiple PXC instances running on a single machine, replicating via Galera to each other. I am running Ubuntu Server 13.04 amd64 in a VirtualBox OSE virtual machine. I installed the Percona debian/ubuntu repository and installed percona-xtradb-cluster-server-5.5, percona-xtrabackup, percona-xtradb-cluster-client-5.5, percona-xtradb-cluster-common-5.5, and percona-xtradb-cluster-galera-2.x from there. mysqld --version shows “mysqld Ver 5.5.33-55 for Linux on x86_64 (Percona XtraDB Cluster (GPL), wsrep_23.7.6.r3915)”.

Once I had PXC installed, I set up a /data/mysql directory and several /etc/mysql/my.*.cnf files, one for each node I intended to create. my.galera1.cnf looks like so:


[mysqld]
port = 5533
socket=/tmp/mysql.galera1.sock
datadir=/data/mysql/galera1
#basedir=/usr/bin
user=root
log_error=error.log
innodb_file_per_table

### galera-required settings ###
query_cache_size=0
binlog_format=ROW
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
#innodb_locks_unsafe_for_binlog=1

### wsrep basic settings ###
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_cluster_name=boringname
wsrep_cluster_address=gcomm://localhost:5533,localhost:5534,localhost:5535
wsrep_sst_method=rsync
#wsrep_sst_auth=repluser:replpass
wsrep_node_name=node1
wsrep_node_address=localhost:5533

[mysql]
user=root

I then called mysql_install_db --defaults-file=/etc/mysql/my.galera1.cnf to initialize the data directory, followed by mysqld_safe --defaults-file=/etc/mysql/my.galera1.cnf --wsrep-new-cluster. mysqld_safe prints the following to the screen:

and the following to /data/mysql/galera1/error.log:

Seeing the error about binding to port 5533, I ran netstat -anp | grep 5533, but got no results, indicating (I think) that port 5533 has no process bound to it, in fact.

At some point previously, I somehow managed to get the server to at least stay up, and while I could connect to it from the mysql command line client, there was no command that didn’t complain that there was no such command.

I am thoroughly baffled at what I’m doing wrong, so any help at all would be very welcome. Thank you, everyone, in advance!

Never tried to setup PXC on single host and I don’t think it is even supported. Surely it can make lot of problems, so I suggest using separate VM/host for each node.
From the logs I can see:
[Note] WSREP: Passing config to GCS: base_host = localhost; base_port = 5533;
wile the default for galera is 4567 and can be specified with gmcast.listen_addr
see here: http://www.codership.com/wiki/doku.php?id=galera_parameters

So the problem is you tried to start MySQL listening on the same port as galera.

Then wsrep_sst_receive_address should be also specified.
But I don’t think it’s worth your effort here.

Ah, that makes sense! Thank you very much for your assistance. I had also come to the conclusion that trying to set up multiple PXCs on one box was not worth the effort, and decided to just spin up a few VMs with one PXC each.

Actually I was wrong, there is such possibility it seems: http://www.percona.com/doc/percona-xtradb-cluster/howtos/singlebox.html
But still it’s easier to setup on 3 separate hosts.