| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| deployment:install:transfer:database:replication [13-08-2024 11:44] – [Перенастройка нового сервера] Ермилов Егор Павлович | deployment:install:transfer:database:replication [13-08-2024 11:48] (текущий) – [Перенастройка нового сервера] Ермилов Егор Павлович |
|---|
| Для начала требуется остановить сервер | Для начала требуется остановить сервер |
| |
| ''sudo service mysql stop '' | <code bash> |
| | sudo service mysql stop |
| | |
| | </code> |
| |
| Далее требуется изменить конфигурацию сервер | Далее требуется изменить конфигурацию сервер |
| |
| '' cd /etc/mysql '''' nano my.cnf #или mcedit my.cnf '' | <code bash> |
| | cd /etc/mysql nano my.cnf |
| | #или |
| | mcedit my.cnf |
| | |
| | </code> |
| |
| Внесите данную конфигурацию в конец файла | Внесите данную конфигурацию в конец файла |
| |
| '' [mysqld] server_id = 2 log_bin = /var/lib/mysql/mysql-bin.log binlog_do_db = medis_archive binlog_do_db = medis_db #... Укажите все базы данных на сервере относящиеся к MGERM. В конце инструкции есть скрипт для получения списка binlog_do_db = medis_users auto_increment_offset = 2 auto_increment_increment = 2 relay-log = /var/log/mysql/mysql-relay-bin.log '' | <code ini> |
| | [mysqld] |
| | server_id = 2 |
| | log_bin = /var/lib/mysql/mysql-bin.log |
| | binlog_do_db = medis_archive |
| | binlog_do_db = medis_db |
| | #Укажите все базы данных на сервере относящиеся к MGERM. В конце инструкции есть скрипт для получения списка |
| | binlog_do_db = medis_users |
| | auto_increment_offset = 2 |
| | auto_increment_increment = 2 |
| | relay-log = /var/log/mysql/mysql-relay-bin.log |
| | |
| | </code> |
| |
| Перезапустите сервер | Перезапустите сервер |
| |
| '' sudo service mysql start '' | <code bash> |
| | sudo service mysql start |
| |
| Разверните созданный бекап на новом сервере согласно [[:deployment:install:transfer:database:single|инструкции]]. Выполняем только блок "[[:188.225.34.26:5555:doku.php?id=deployment:install:transfer:database:single#работа_на_новом_сервере|Работа на новом сервере]]". | </code> |
| | |
| | Разверните созданный бекап на новом сервере согласно [[:deployment:install:transfer:database:single|инструкции]]. Выполняем только блок "[[:deployment:install:transfer:database:single#работа_на_новом_сервере|Работа на новом сервере]]". |
| |
| Создаем фиксированный туннель для подключения | Создаем фиксированный туннель для подключения |
| |
| '' ssh -L6565:127.0.0.1:3306 -f -N -p< old_server_port> < old_server_user>@< old_server_host> '' | <code bash> |
| | ssh -L6565:127.0.0.1:3306 -f -N -p<old_server_port> <old_server_user>@<old_server_host> |
| | |
| | </code> |
| |
| Подключаемся к mysql | Подключаемся к mysql |
| |
| '' mysql -u< mysql_user> -p '' | <code bash> |
| | mysql -u<mysql_user> -p |
| | |
| | </code> |
| |
| Введите следующий скрипт в поле ввода | Введите следующий скрипт в поле ввода |
| |
| '' CHANGE REPLICATION SOURCE TO SOURCE_HOST='127.0.0.1', SOURCE_PORT = 6565, SOURCE_USER='replica_user', SOURCE_PASSWORD='replica_user_password', SOURCE_LOG_FILE='mysql-bin.001002', SOURCE_LOG_POS=336396; '' | <code sql> |
| | CHANGE REPLICATION SOURCE TO |
| | SOURCE_HOST='127.0.0.1', |
| | SOURCE_PORT = 6565, |
| | SOURCE_USER='replica_user', |
| | SOURCE_PASSWORD='replica_user_password', |
| | SOURCE_LOG_FILE='mysql-bin.001002', |
| | SOURCE_LOG_POS=336396; |
| | |
| | </code> |
| |
| <WRAP center round important 60%>Внимание! Параметры SOURCE_PORT, SOURCE_LOG_FILE и SOURCE_LOG_POS должны быть указаны в соответвии с предыдущими действиями! | <WRAP center round important 60%>Внимание! Параметры SOURCE_PORT, SOURCE_LOG_FILE и SOURCE_LOG_POS должны быть указаны в соответвии с предыдущими действиями! |
| Запускаем репликацию | Запускаем репликацию |
| |
| '' mysql> START REPLICA; mysql> SHOW REPLICA STATUS\G; '' | <code bash> |
| | mysql> START REPLICA; |
| | mysql> SHOW REPLICA STATUS\G; |
| | |
| | </code> |
| |
| Если все прошло удачно, то репликация начнется. Для проверки, можно создать произвольную строку в произвольной таблице любой базы данных на старом сервере и посмотреть, появится ли она на новом сервере. Если строка не появится, то была допущена ошибка при создании реплики или существует другая проблема. Гугл в помощь :( | Если все прошло удачно, то репликация начнется. Для проверки, можно создать произвольную строку в произвольной таблице любой базы данных на старом сервере и посмотреть, появится ли она на новом сервере. Если строка не появится, то была допущена ошибка при создании реплики или существует другая проблема. Гугл в помощь :( |