mysql数据对比工具
导读:笔者最近在采用 trino 代替旧有方案进行媒体接口数据拉取。需通过将 trino 拉取的数据入到测试库,并与旧方案拉取到生产库中的数据进行对比从而验证逻辑准确性。在进行数据对比时为提高效率因此...
2024.11.21分享一个处理mysql数据量大的话迁移的方法
一天晚上,生产环境下,一个用户分析数据库挂掉了,原因是服务器磁盘只读了,但是又不敢重启只好迁移了。
找到datadir目录下du -sh * 看了一下吓死了。240G大!
一般我们都会做一个主从数据库,就是为了备份数据方便宕机的时候快速切换过来,可是这台机器很早就有,现在没有从库备份,这就麻烦了。
现在脑子里两种方案:
数据库直接导出,拷贝文件到新服务器,在新服务器上导入。
数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下。
第一种方案时间太长240G啊什么概念,那要导到什么时候,虽然说第二种方案也是非常耗时的,但是想不第一种还较为快点。犹豫了一会采用第二种方案。
操作步骤
服务器只读了,并不代表不可以传文件。所以找了一台磁盘容量大点的可以存放的下这240G大量数据的服务器。
两台服务器保证Mysql版本一致,安装配置一致
停止两边的Mysql服务
删除B服务器Mysql的datadir(my.cnf里面设置的datadir参数)目录下所有文件
用rsync服务开始传datadir下面的文件(A服务器--迁移-->B服务器)
启动B服务器的Mysql服务,测试
迁过去后有个报错:
这时候才想起来用rsync传的时候目录使用的nobody权限,启动是要MySQL用户权限的。查了查资料也是说要修改目录权限。修改完之后,启动没有问题了。
如果遇到启动不起来然后报错是与ibdata1有关的,建议把my.cnf里面的innodb_buffer_pool_size = 2G参数改下,这个是要根据服务器内存考虑的。或者把他删了重建也行。
导读:笔者最近在采用 trino 代替旧有方案进行媒体接口数据拉取。需通过将 trino 拉取的数据入到测试库,并与旧方案拉取到生产库中的数据进行对比从而验证逻辑准确性。在进行数据对比时为提高效率因此...
2024.11.21解决方法一:(最重要的一种方法)你看下my.ini,有无[mysql]default-character-set=utf8[client]default-character-set=utf8[mysq...
2024.11.21简单数据查询操作增删改查是数据表操作的重要组成部分,尤其是数据表的查询更是数据库与各类应用交互的频繁操作之一。本文课主要介绍简单数据查询语句。查询语句基本语法查询语句是实现数据查询的SQL语句,用于实...
2024.11.21概述mysql里delete方式删除数据,也存在类似oracle一样高水位的问题,表空间不释放,下面是收集的几种回收方式,供供大家参考。01使用 OPTIMIZE命令语法:OPTIMIZE [LOCA...
2024.11.20近期,协助一客户重置mysql 8.0.11的root密码,碰到了奇怪的问题。 操作系统版本:rhel 7.6 数据库版本:mysql 8.0.11 根据mysql 8.0官方文档说明,mysql的...
2024.11.19