需求描述:有一个user_info.sql 的文件里面都是插入user_info表的insert语句数据,数据量500M,要求快速插入mysql的数据库中。
解决方法:
1、利用客户端工具加载文件插入数据。
问题:执行数据特别慢,好几个小时才能插入,原因数据要从客户端发送到服务器网络传输和插入都消耗大量时间,不同客户端的处理速度也有很大差异。
2、直接将user_info.sql放到服务器上,使用source语句直接导入文件,如下是语句样例:
将user_info.sql文件放在服务器/opt/mysql路径下(在什么路径在登录mysql就放到哪里,如果文件不能放在当前路径可以这样指定文件路径source /opt/mysql/user_info.sql ; )
用户名:tempuser 数据库:testdb
root@:/opt/mysql# mysql -u tempuser -p -h localhost testdb;
--这里要求输入密码
--进入mysql mysql>SET NAMES utf8mb4; mysql>SET CHARACTER SET utf8mb4; mysql>source user_info.sql ;
上述语句中SET NAMES utf8mb4; SET CHARACTER SET utf8mb4;是为了设置字符集,如果没有这两句,插入的数据中带中文的很可能是乱码。