
首先说明本人只测试了40G的东西。大于40G的还没有测试。
在上传之前我们需要将my.ini修改一个参数max_allowed_packet.将参数设置为max_allowed_packet=100000M。1M=1024*1024。以此类推。1G=...。
不经过此设置可能会发生以下问题:MySQL server has gone away .出现这个问题的原因是因为client端和mysql server端断开了。一般是 *** 作sql文件时间过长导致的。
设置好之后重启
这里我经过测试:max_allowed_packet最大只能设置为1G=10737418248/1024/1024/1024.
查看max_allowed_packet命令为如下:
下面开始使用命令行来上传sql文件。
一、进入mysql的bin目录下
二、执行如下语句
mysql -uroot -p 数据库 <sql所在目录
提示输入密码即可导入大数据量的sql文件。
三、如何检验文件是否在上传或者文件是否已经传完毕。打开您的mysql管理工具(比如navicat)。按F5看对应的库记录和大小或者上次更新时间是否在变化就好了。
四:上传过程可能比较漫长。上传完毕
1、打开电脑,在电脑桌面的开始界面中找到mysql,如图所示。
2、双击打开mysql软件,并输入密码,如图所示。
3、如果sql文件的内容中有创建数据库的语句,或者想将表存放在已有的数据库,在这里就不用创建数据库。
4、输入“show databases”就能看到自己创建的数据库,如图所示。
5、输入“use 数据库名”,开始使用这个数据库,如图所示。
6、开始导入sql文件,输入“source sql文件的路径”(注意文件路径要是复制来的,要将"\"全部换成“/”)。
7、最后输入“show tables”,就会看到导入的数据了,如图所示。
常规导入数据方法:
1>.采用InnoDB存储引擎;
2>.设置innodb_buffer_pool_size较大的值,且设置脏数据:innodb_max_dirty_pages_pct=95;
3>.关闭log-bin 日志;
4>.设置sort_buffer_pool_size的值稍微大一点;
5>.使用多表空间:innodb_file_per_table;
6>.innodb_flush_log_at_trx_commit=0 且sync_binlog=0
7>.多个mysql客户端同时导入数据库备份文件,后台执行就是;
不过还是建议数据量大直接拷贝数据文件,更直接一点。一般来说几十G的数据导入SQL几乎不可能。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)