京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

如何解决mysql导入sql文件慢、错等问题

2024-11-2 22:37| 发布者: 76a9| 查看: 52| 评论: 0

摘要: 目录mysql导入sql文件慢、错等问题1、下令行登录数据库2、创建数据库3、设置参数4、使用某个数据库5、手动开启事务6、执行source导入sql文件7、手动提交事务哀求8、还原最初的设置9、留意事项总结mysql导入sql文件慢
目录

mysql导入sql文件慢、错等问题

在服务开发过程经常有数据迁徙、备份、sql导入需求,而在mysql导入sql文件过程中经常出现慢、错等问题,尤其是通过mysql客户端(比如Nacivat)导入速率更慢。

今天我们选用一个新的导入方案,用MySQL自带的source导入,举行部分自界说利用,速率更快、同一提交;原理:淘汰网络哀求、关闭日记打印、关闭自动提交(开启手动提交),目的是均是为了进步导入效率。

废话少说,现在开始吧。

1、下令行登录数据库

[code]mysql -uroot -p[/code]

2、创建数据库

假如数据库还没有创建的话

[code]create database demo;[/code]

3、设置参数

[code]#临时关闭二进制日记 set sql_log_bin=off; #临时关闭事务自动提交 set autocommit=0;[/code]

4、使用某个数据库

[code]use demo;[/code]

5、手动开启事务

[code]start transaction;[/code]

6、执行source导入sql文件

  • 1)linux情况
[code]source .../test.sql[/code]
  • 2)win情况
[code]source D:\...\test.sql 或者 source D:/.../test.sql[/code]

7、手动提交事务哀求

[code]commit;[/code]

8、还原最初的设置

[code]#规复二进制日记 set sql_log_bin=on; #规复事务自动提交 set autocommit=1;[/code]

理想情况下数据一次性成功导入。

9、留意事项

1)表的最大容量问题 max_allowed_packet

[code]show variables like '%max_allowed_packet%'; select @@max_allowed_packet;[/code]

查询:

手动设置

[code]set global max_allowed_packet = 102410141024;[/code]

重启mysq才华见效

2) 表的大小写问题

有些业务有大写和小写的表,设置不区分,比如linux情况mysql默认区分;

但是win情况默认不区分;

因此必须保持一致

[code]show variables like "%case%";[/code]

结果

原理

  • lower_case_table_names = 0 区分大小写,默认是这种设置
  • lower_case_table_names = 1 不区分大小写

当然,必要在设置文件中修改ini或者cnf 文件里添加。

原理可以参考

3)导入数据时字符集设置问题

报错:mysql数据库导入堕落

[code]ERROR:Unknown command ‘\’[/code]

查对此数据的字符集和脚本文件里的字符集是否一直,查对后你就会名顿开!

如许查对!

除此之外、另有其他类似的设置问题,当然要闻一知十!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。


来源:https://www.jb51.net/database/327016p8e.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 21:13 , Processed in 0.043063 second(s), 18 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部