2016-12-02 7 views
2

У меня возникли проблемы с настройкой репликации через туннель SSH, несмотря на много часов, проведенных в официальных документах, статьях и вопросах SO.Репликация MySQL через SSH-туннель

Мой ведущий 192.168.0.105 и ведомый 192.168.0.104. Я уже создал SSH туннель через:

ssh -L 3305:127.0.0.1:3306 [email protected] -f -N 

tunneluser, где находится локальный пользователь на моем мастер.

я получаю следующий выход на раба (опустили несущественные линии):

mysql> SHOW SLAVE STATUS \G 
*************************** 1. row *************************** 
       Slave_IO_State: Connecting to master 
        Master_Host: 127.0.0.1 
        Master_User: slave_user 
        Master_Port: 3305 
        ... 
      Slave_IO_Running: Connecting 
      Slave_SQL_Running: Yes 
        ... 
       Last_IO_Errno: 2003 
       Last_IO_Error: error connecting to master '[email protected]:3305' - retry-time: 10 retries: 1 
        ... 
1 row in set (0.00 sec) 

Та часть, которая озадачивает меня, что если я попытаюсь:

mysql -h 127.0.0.1 -P 3305 -u slave_user -p 

Он регистрирует в без каких-либо вопросы. Я начинаю думать, что это имеет какое-то отношение к разрешениям, но я не могу найти никакого намека на подтверждение моей теории.

Я попытался настроить туннель как пользователь mysql, однако это не сработало. На самом деле не ожидал, но я должен был сделать это.

Есть ли у кого-нибудь предложения по отладке этого?

Если я иду напрямую через порт 3306, он работает без каких-либо проблем.

ответ

0

Ну после нескольких дней, я нашел подобный вопрос на ServerFault:

MySQL Replication Over SSH - Last_IO_Errno: 2003 - error connecting to master

Оказалось SELinux пришлось все делать с этим! Как пояснил @Tek Jau, вы можете решить, добавив этот пользовательский порт через semanage:

sudo /usr/sbin/semanage port -a -t mysqld_port_t -p tcp 3305 

Надеется, что это помогает любому, кто натыкается на аналогичный вопрос.

 Смежные вопросы

  • Нет связанных вопросов^_^