九一制作厂网站,织梦动漫网站模板,媒体宣传,上海seo博客配置Mysql集群主从复制报错:
我在master创建了一个数据库#xff08;demo_ds_0#xff09;,然后又快速删除了。然后又再次创建了 demo_ds_0, 发现 slave 数据库没有将 demo_ds_0 库同步过来。
后面在 slave 数据库中执行
show slave status 发现 SLave_IO_Running 字段是 …配置Mysql集群主从复制报错:
我在master创建了一个数据库demo_ds_0,然后又快速删除了。然后又再次创建了 demo_ds_0, 发现 slave 数据库没有将 demo_ds_0 库同步过来。
后面在 slave 数据库中执行
show slave status 发现 SLave_IO_Running 字段是 Yes, Slave_SQL_Running 一直是 No.
查看 slave 容器
docker logs -f mysql_slave_012024-04-04T10:25:15.627702Z 6 [Note] CHANGE MASTER TO FOR CHANNEL executed. Previous state master_host192.168.56.10, master_port 3307, master_log_filemysql-bin.000002, master_log_pos 1396, master_bind. New state master_host192.168.56.10, master_port 3307, master_log_filemysql-bin.000002, master_log_pos 4, master_bind.
2024-04-04T10:25:18.576076Z 12 [Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the START SLAVE Syntax in the MySQL Manual for more information.
2024-04-04T10:25:18.576871Z 13 [Warning] Slave SQL for channel : If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0
2024-04-04T10:25:18.576901Z 13 [Note] Slave SQL thread for channel initialized, starting replication in log mysql-bin.000002 at position 4, relay log ./e9dfd7d63b98-relay-bin.000001 position: 4
2024-04-04T10:25:18.577192Z 12 [Note] Slave I/O thread for channel : connected to master backup192.168.56.10:3307,replication started in log mysql-bin.000002 at position 4
2024-04-04T10:25:18.588081Z 13 [ERROR] Slave SQL for channel : Error Cant drop database demo_ds_0; database doesnt exist on query. Default database: demo_ds_0. Query: DROP DATABASE demo_ds_0, Error_code: 1008
2024-04-04T10:25:18.588110Z 13 [Warning] Slave: Cant drop database demo_ds_0; database doesnt exist Error_code: 1008
2024-04-04T10:25:18.588115Z 13 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with SLAVE START. We stopped at log mysql-bin.000002 position 154. 执行 show slave status 在返回 Last_SQL_Error 列中也可以看到这个错误。 错误中显示 无法删除 demo_ds_0 这个数据库。 GPT解释
这个错误信息表明从服务器上的SQL复制线程遇到了一个错误并因此中止了。在这种情况下你需要解决主从服务器之间的数据不一致问题并重新启动从服务器上的SQL复制线程。根据错误信息提供的信息复制线程停止在了binlog文件 mysql-bin.000002 的位置 154。要解决这个问题你可以按照以下步骤操作检查主从服务器状态 首先确认主服务器和从服务器的状态是否正常。确保主服务器上的binlog文件 mysql-bin.000002 是存在的并且从服务器上的复制进程没有其他的错误。解决从服务器的数据不一致问题 如果发现主从服务器之间的数据不一致需要解决这个问题。可能的原因包括主从服务器上的数据不同步或者主从服务器上执行的不一致的操作。重新启动从服务器上的SQL复制线程 一旦确认了数据不一致的问题并解决了你可以重新启动从服务器上的SQL复制线程。在从服务器上执行以下命令
START SLAVE;
这将重新启动从服务器上的SQL复制线程并开始从主服务器上同步数据。确保之前解决了数据不一致的问题以免出现同样的错误。监控复制进程 重新启动复制线程后监控复制进程的状态确保复制进程正常工作并且主从服务器之间的数据保持一致。
如果在解决问题的过程中遇到了困难可以查看MySQL的错误日志以获取更多的信息或者在需要时考虑重启MySQL服务。确保在操作之前备份重要的数据以防止数据丢失。
解决方法 1、先停止 slave 复制进程
stop slave2、创建报错日志中的数据库demo_ds_0
3、再次开启 slave 复制进程
start slave4、查看 slave 状态
show slave status可以看到 SLave_IO_Running 和 Slave_SQL_Running 都是 Yes了。
mysql_slave_01 日志正常了 修改数据也能正常同步了。