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

innodb-read-only предотвратить репликацию mysql? Таблица gtid_slave_pos доступна только для чтения

Я установил пару maraidb v10.2.10 контейнеры с официальный образ докера. Мастер может читать / писать, а подчиненный доступен только для чтения с этим my.cnf.

[mysqld]
server_id=2
read_only=1
innodb_read_only=1

Некоторое время репликация работала нормально, но остановилась из-за следующей ошибки:

Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Errno: 1942
Last_Error: Error during COMMIT: failed to update GTID state in mysql.gtid_slave_pos: 1036: Table 'gtid_slave_pos' is read only

Я добавил эту строку в my.cnf подчиненного устройства и снова настроил ее с самого начала, но все равно получил ту же ошибку.

replicate-ignore-table=mysql.gtid_slave_pos

Означает ли это, что Innodb не может копировать innodb-read-only сервер?

Требуемый параметр - read_only, а не innodb_read_only. Последнее не для описываемого вами варианта использования, оно предназначено для операций восстановления данных.

Получил ту же проблему. Выглядит как innodb_read_only=1 предотвращает репликацию. Если вы только установите read_only=1 репликация работает нормально.

Как хорошо объяснил Вот ведомый должен быть доступен только для чтения. Вы уверены, что никто не пытается писать в раб? Проверьте, доступен ли binlog.