Назад | Перейти на главную страницу

Сервер Percona и сервер MySQL на одном сервере на разных портах

У меня MySQL установлен из портов, работает и прослушивает порт 3306. На том же сервере у меня есть сервер Percona, скомпилированный из источников, работающий и прослушивающий порт 3307.

Вот список процессов для percona и mysql:

#mysql 
processes bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/mysql.pid
/usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/db/mysql --plugin-dir=/usr/local/lib/mysql/plugin --user=mysql --log-error=/var/db/mysql/mysql.err --pid-file=/var/db/mysql/mysql.pid

#percona processes
/bin/sh /usr/local/percona/bin/mysqld_safe --defaults-extra-file=/home/percona/my.cnf --user=percona --datadir=/home/percona --pid-file=/home/percona/mysql.pid
/usr/local/percona/bin/mysqld --defaults-extra-file=/home/percona/my.cnf --basedir=/usr/local/percona --datadir=/home/percona --plugin-dir=/usr/local/percona/lib/plugin --user=percona --log-error=/home/percona/mysql-error.log --open-files-limit=65535 --pid-file=/home/percona/mysql.pid --socket=/tmp/percona.sock --port=3307

Как видите, Percona работает с --socket=/tmp/percona.sock --port=3307.

Когда я пытаюсь подключить Percona с localhost, я сталкиваюсь со странной ситуацией.

mysql -S /tmp/percona.sock -uroot -p # ok, I'm connected to Percona
mysql -P 3307 -uroot -p              # NO! I'm connected to MySQL

НО, когда я пытаюсь подключиться к 3307 с другого сервера - я успешно подключаюсь к Percona (не MySQL)

#on another server
mysql -P 3307 -h somehost -u root -p # ok, I'm connected to Percona

Зачем? Почему подключение к 3307 с localhost приводит к обычному MySQL. Но подключение к 3307 с другого хоста ведет к Percona Server?

mysql -P 3307 -uroot -p # NO! I'm connected to MySQL, - хост по умолчанию localhost. Если это так, клиент подключается через сокет unix, а не через TCP. Таким образом, опция -P не имеет смысла. Однако если вы подключитесь вот так mysql -P 3307 -uroot -p -h 127.0.0.1 он заставит клиента использовать TCP, и вы попадете в Percona.