
在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据。很多时候都是由于文件过大,从本地浏览上传导入,容易中断失败,有没有更好的方法呢?
方法:
在phpMyAdmin的目录下,找到根目录的configincphp文件,
打开configincphp文件,查找$cfg['UploadDir'],这个参数就是设定导入文件存放的目录,这里把值设定为:ImportSQLFile。
在phpMyAdmin目录下,建立以ImportSQLFile命名的文件夹,
把我们需要导入的数据文件,放到ImportSQLFile文件夹下面,非常简单,
登入phpMyAdmin,选择需要导入的数据,点击导航条上面的“导入”按钮,
选中“从网站服务器上传文件夹ImportSQLFile/中选择:”选项,并需要导入的数据文件,
最后点击“执行”,即可导入成功。
注意事项
如果在configincphp文件,没有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
1、分离数据库,分离前后台,通过数据连接来将减小前台数据库体积。
2、定期压缩后台数据库。
3、数据超过10万条,建议定期把数据导出(必要时再连接数据),并从后台删除相应数据。
1 什么是大数据
1 所谓大数据, 就是大的字节数据,或大的字符数据
2 标准 SQL 中提供了如下类型来保存大数据类型:
字节数据类型: tinyblob(256B), blob(64K), mediumblob(16M), longblob(4G)
字符数据类型: tinyclob(256B), clob(64K), mediumclob(16M), longclob(4G)
3 MySql 中处理字符的数据类型名称与 SQL 标准不同:
字符数据类型: tinytext(256B), text(64K), mediumtext(16M), longtext(4G)
// 示例: 把 mp3 保存到数据库中// 需要在 MySql 配置文件中添加如下配置: `max_allowed_packet=10485760`// 因为 MySql 默认不允许数据包传输过大public class Demo{ // 将 mp3 文件保存到数据库中
public void fun1(){ // 获取连接对象
Connection con = JdbcUtilsgetConnection(); // 提供 sql 模板, 获取 PreparedStatement 对象
String sql = "INSERT INTO tab_bin VALUES(,,)";
PreparedStatement pstmt = conprepareStatement(sql); // 设置 sql 模板参数
pstmtsetInt(1,001);
pstmtsetString(2,"hellomp3"); // mp3 保存为 blob 类型的数据
// 通过 commons-io 工具类, 将 mp3 转换成 byte[]
Byte[] bytes = IOUtilstoByteArray(new FileInputStream("/Users/姓名/Desktop/hellomp3")); // 使用 bytes, 创建 Blob 对象
Blob blob = new SerialBlob(bytes);
pstmtsetBlob(3,blob); // 发送 sql 语句
pstmtexecuteUpdate();
} // 从数据库中获取 mp3 数据
public void fun2(){ // 获取连接对象
Connection con = JdbcUtilsgetConnection(); // 获取 PreparedStatement 对象
String sql = "SELECT FROM tab_bin";
PreparedStatement pstmt = conprepareStatement(sql); // 发送 sql 语句, 返回 ResultSet 对象
ResultSet rs = pstmtexecuteQuery(); // 将 rs 中名为 data 列的数据
if(rsnext()){
Blob blob = rsgetBlob("data"); // 把 blob 转换成硬盘上的 mp3 文件
// 1 通过 blob 得到输入流对象
// 2 自己创建输出流对象
// 3 把输入流的数据写入到输出流中
InputStream in = blobgetBinaryStream();
OutputStream out = new FileOutputStream("/Users/姓名/Document/worldmp3"); // 使用工具类中的方法
IOUtilscopy(in,out);
}
}
}
以上就是关于如何用php导出导入大数据库全部的内容,包括:如何用php导出导入大数据库、采集数据不停的写入access数据库,经历很长时间,导致文件太大,怎么解决、如何将大数据娴MySql 数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)