Настраиваем репликацию Master Slave в Mysql в Ubuntu Server 18.04

- если серверы были клонированы из образов виртуальных машин, то надо проверить server_uuid на этих mysql возможно они одинаковые, а нужно, что бы различались. в папку где находится этот файл под названием auto.cnf так просто не зайдешь (permission denied ) нужно права повысить с помощью команды sudo -i. но сначала можно набрать такую команду sudo cat /var/lib/mysql/auto.cnf и мы увидим server uuid. это нужно сделать на всех серверах и сравнить и убедиться, что ни где он не повторяется. если на каком то сервере повторяется, то надо удалить файл auto.cnf и перезапустить mysql, тогда этот файл снова сгенерируется и появиться новый  server_uuid. получить права suro -i и потом удалить файл auto.cnf командой rm /var/lib/mysql/auto.cnf и перезапустить mysql командой service mysql restart и выйти из режима супер привилегий командой exit.

- как мне кажется будет правильно установить на наших субд mysql единую кодировку по умолчанию utf-8, а то у меня были косяки, когда с мастера приходили запросы с кириллическими буквами, а кодировка правильная не устанавливалась, вместо нее latin_swedish_ci и она нормально символы кириллические (русские) не пропускает. только надо понять, какие именно кодировки устанавливаются и как, где, через, что именно? тут есть вариант задать кодировку сразу на весь сервер, на все базы, на таблицы которые будут создаваться, на клиентов. а можно создать базу данных в которую будет идти репликация и установить правильные кодировки только на ней. в общем не понятно, как задавать эти кодировки толи через конфигурационный файл, то ли в самом SQL запросе, то ли вообще есть специальная командная утилита. Поэтому я зашел в PhpMyAdmin там на главной есть раздел переменные и там можно найти нужные переменные и все их изменить. charset я выбрал utf8mb4 это как utf8 только с поддержкой эмодзи совместим с utf8 (а utf8 это типа на самом деле utf8mb3). collation я поставил в utf8mb4_general_ci. В общем перед началом репликации нужно, что бы в обоих базах совпадала кодировка. Проще всего создать базу на слэйве с нужной кодировкой и тогда кодировки таблиц будут переносится с мастера те которые ты добавляешь. Когда делаешь импорт то кодировки которые на мастере были на слэйв заливаются.

- затем надо создать базы и на мастере и на слэйве и если нужно залить туда данные с мастера на слэйв. база на мастере и слэйве должна называться одинаково иначе запросы creste table всякие не сработают.

- потом надо настроить конфиги

- потом надо подключить сервера между собой. и тут не все гладко. почему то когда пишешь ip адрес то не работает.

-еще одним косяком это был bind-adress, а точнее, что mysql мои не могли к друг другу подключиться, это потому, что они были доступны только по localhost

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