mysql 修改索引顺序_对于mysql加索引,删除索引,添加列,删除列,修改列顺序的最佳办法测试...

本文详细介绍了如何在MySQL中安全地修改表的索引顺序,以及进行数据迁移的方法,包括备份数据、导出CSV、切分文件、清空原表、批量导入数据和恢复现场的步骤。通过Python脚本实现自动化操作,降低了风险,提高了效率。
摘要由CSDN通过智能技术生成

1、首先进行数据训的XltraBackup备份,有备无患,切记切记!

2、

mysql -uroot -pD********

-- 导出csv文件

use dsideal_db;

MariaDB [dsideal_db]> SELECT * from t_resource_info INTO OUTFILE "/usr/local/mysql/t_resource_info.txt" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

Query OK,1582463 rows affected (29.97sec)

3、切分csv文件,这样分批导入更快,更方便,参考这里:http://www.nowamagic.net/librarys/veda/detail/2495,但是不能使用按容量啊,一定要按行。说日志太大拿不回来的,罚面壁一小时!

mkdir/usr/local/huanghai -p

split-a 2 -d -l 50000 /usr/local/mysql/t_resource_info.txt /usr/local/huanghai/prefix2-3秒吧

3、清空原表,修改字段,反正有备份,不怕的

truncate t_resource_info;alter table t_resource_info add huanghai_test int;

4、优化环境配置,准备开始导入

SET autocommit=0;

SET unique_checks=0;

SET foreign_key_checks=0;set sql_log_bin=0;

SET @innodb_additional_mem_pool_size=26214400;set @innodb_buffer_pool_size=1073741824;set @innodb_log_buffer_size=8388608;set @innodb_log_file_size=268435456;

load data infile'/usr/local/huanghai/prefix00' IGNORE into table dsideal_db.t_resource_info_huanghai fields terminated by ',' enclosed by '"';

load data infile'/usr/local/huanghai/prefix01' IGNORE into table dsideal_db.t_resource_info_huanghai fields terminated by ',' enclosed by '"';

load data infile'/usr/local/huanghai/prefix02' IGNORE into table dsideal_db.t_resource_info_huanghai fields terminated by ',' enclose

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值