问题描述
我有一个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 (将#修改为@)