• mysql source命令超大文件导入方法总结


    下面收集了两种解决办法,一种是把数据库分文件导出然后再导入,另一种是修改my.ini配置文件。

    导入1G的数据,但是在怎么都导入不了,用命令行就可以轻松搞定了。用mysql source命令可以导入比较大的文件。

     代码如下 复制代码

    mysql>use dbtest;
    mysql>set names utf8;
    mysql>source D:/www/sql/back.sql;

    通过source命令导入多个文件,可以新建一个sou.sql文件,里面存放下面的命令
    例如:

     代码如下 复制代码
    source d:/a1.sql;
    source d:/a2.sql;


    这样就可以在一个source命令里面导入多个sql文件了。

    但这样会有一个问题,如果有一100个这样的文件我们一个个去写命令肯定很麻烦,下面我百度搜索到一个解决办法

     代码如下 复制代码

    新建一个all.sql
    vim all.sql
    在里面写入:
    source 1.sql
    source 2.sql
    ......
    source 53.sql
    source 54.sql
    然后只要
    mysql> source all.sql


    另一种大文件导入解决办法,这个是用服务器管理权限的用户了


    mysql source 命令导入大的sql


    在mysql的安装目录下 找到 my.ini文件 加入以下代码:

     代码如下 复制代码
    interactive_timeout = 120
    wait_timeout = 120
    max_allowed_packet = 32M


    小例子
    mytest_emp_dept.sql文件,内容如下:

     代码如下 复制代码
    CREATE TABLE emp(eid INT PRIMARY KEY AUTO_INCREMENT, ename VARCHAR(20) NOT NULL, esex VARCHAR(10), deptid INT NOT NULL);
    CREATE TABLE dept(deptid INT PRIMARY KEY AUTO_INCREMENT, dname VARCHAR(20) NOT NULL,daddress VARCHAR(200));
    INSERT INTO emp(ename,esex,deptid) VALUES('chris','M',1),('edge','M',1),('kelly','W',2),('maryse','W',2);
    INSERT INTO dept(dname,daddress) VALUES('development','beijing'),('accounting','shanghai');
    SELECT ename,esex,dname,daddress FROM emp,dept WHERE emp.deptid=dept.deptid ORDER BY ename;

     

    导入sql的命令行如下:

     代码如下 复制代码

    source "路径名"+/mytest_emp_dept.sql


  • 相关阅读:
    phpinfo mac 和 php -moudle里的不一致(mongodb篇)
    0、服务启动前之日志字段和格式
    P3740 贴海报
    树状数组区间修改and查询和
    P1823 Patrik 音乐会的等待
    西安段素扫描线
    P1903 数颜色
    P1220 关路灯
    [p1559] 运动员最佳匹配问题
    treap数组版
  • 原文地址:https://www.cnblogs.com/jpfss/p/10773934.html
Copyright © 2020-2023  润新知