如何用php导出导入大数据库

如何用php导出导入大数据库,第1张

在使用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 数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9736315.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存