MySQL表大小在主服务器上不正确但在从服务器上正确

问题描述

我有一个mysql主服务器-将奴隶设置为两个不同实例上的docker容器,并将数据文件夹卷安装到磁盘上。设置从站后,复制正常开始。现在,我尝试按以下步骤在主数据库上导入sql转储文件-

docker exec -i mysql-master sh -c 'exec mysql -u root_user --p' < mydb.sql

数据正确反映在从属服务器上,我什至执行了CHECKSUM TABLE mydb.tablename并且主服务器和从属服务器上的输出都相同。 但是,当我检查两个mysql实例的表大小时,我发现有些奇怪。

SELECT 
     table_schema as `Database`,table_name AS `Table`,round(((data_length + index_length) / 1024 / 1024),2) `Size in MB` 
FROM information_schema.TABLES 
ORDER BY (data_length + index_length) DESC;

我使用上面的命令检查表的大小,我注意到从属服务器中的表大小约为10GB,这是我期望的。但是主服务器上只有几个MB。需要注意的是,磁盘空间已在主服务器和从服务器上使用。
主机和从机上的表数据均正确。但是,TABLE SIZE相差很大。

一些额外的信息-slave.cnf

[mysqld]
log_error=/var/log/mysqld.log
max_allowed_packet=16M
character_set_server=utf8
collation_server=utf8_general_ci
binlog_format = ROW
server-id=2
relay-log = /var/lib/mysql/mysql-relay-bin.log
log_bin = /var/lib/mysql/mysql-bin.log

master.cnf

[mysqld]
log_error=/var/log/mysqld.log
max_allowed_packet=16M
character_set_server=utf8
collation_server=utf8_general_ci
binlog_format = ROW
server-id=1
log_bin = /var/lib/mysql/mysql-bin.log

我尝试了OPTIMIZE TABLE 'tablename';,但没有帮助。 有人知道这可能是什么问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...