zoukankan      html  css  js  c++  java
  • MyCAT与MySQL导入、导出文件

    1. MySQL批量导入-LOAD DATA
    使用本地客户端连接MySQL数据库,批量导入数据,出现报错:
    2017-06-07 09:30:45,936 MySqlWrapper::ImportCSVtoDB ERROR 13:Can't get stat of '/opt/sdc/merge/WorkData/7374182833.csv' (Errcode: 2 - No such file or directory)
    查询后得知,本地导数据需要添加local,修改导入SQL如下:
    LOAD DATA LOCAL INFILE '/opt/sdb/test.csv'
    INTO TABLE t_test
    CHARACTER SET utf8
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
    另外注意,批量导入数据会产生大量无效bin-log,可以通过关闭log来避免:
    set sql_log_bin=0;
    导入结束后打开:
    set sql_log_bin=1;
    手动清楚bin-log日志:
    purge master logs before '2017-06-07 17:07:00';
    (删除某个时间点之前的日志)

    2. MySQL批量导出-select into outfile
    使用select导出数据需要注意,指定目录必须存在,且没有同名文件,MySQL导出的时候,不会覆盖重名文件,语法案例如下:
    select *
    from t_test into outfile
    '/opt/wifidb/mysql_datatest.csv'
    fields terminated by ','
    optionally enclosed by ''
    LINES TERMINATED BY '\n';

    3. 利用mysqldump导出sql
    MySQL支持mysqldump导出整个数据库结构和数据库数据,代码如下:
    1、导出数据库为dbname的表结构(其中用户名为root,密码为dbpasswd,生成的脚本名为db.sql)
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;
    2、导出数据库为dbname某张表(test)结构
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;
    3、导出数据库为dbname所有表结构及表数据(不加-d)
    mysqldump -ucellDB -p -h172.16.2.01 -P3309 db631 >/opt/data/mysql_data/db1.sql
    4、导出数据库为dbname某张表(test)结构及表数据(不加-d)
    mysqldump -uroot -pdbpasswd dbname test>db.sql;

    4.导入SQL文件
    首先确保MySQL里面有存在该数据库,导入案例如下:
    MySQL -uroot -p123456123 -h172.16.2.01 -P3308 db1 < /opt/data/mysql_data/db1.sql;

    5.MyCAT批量导入数据-Load Data
    MyCAT的批量导入与MySQL相似,不同的是,MyCAT导入的时候需要明确指出列名,便于分片插入,否则会报lost connection的错误。案例如下:
    LOAD DATA LOCAL INFILE '/opt/data/mysql_data/test.csv' ignore
    INTO TABLE t_test
    CHARACTER SET 'utf8'
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    (i_ID, i_MAC, i_RSSI, i_Grid);

    6. MyCAT批量导入数据-source sql
    MyCAT的也支持source sql文件。与MySQL不同的是,导入到mycat的sql文件需要携带columnslist,所以在导出时,mysqldump命令如下:
    mysqldump -uroot -p123456 -h172.16.2.01 -P3308 -c --skip-add-locks db1 t_test > /opt/data/mysql_data/buffer.sql
    注意加粗字段。与此同时,导入导出的表名要一致。
    这种办法可以用于MyCat迁移数据的使用。

    7. MyCAT批量导出--select into outfile
    MyCAT实质为SQL parser,select会下发到每个数据节点。如果每台机器上有两个数据节点,那么导出时就会报错。建议到每一个数据节点下导出数据再拼接起来

  • 相关阅读:
    安装VMware,出现Microsoft Runtime DLL 安装程序未能完成安装,解决方法
    linux mysql udf 提权
    XXE漏洞学习
    了解Metasploit中的Payloads(有效载荷)
    Metasploit 如何使用Exploits(漏洞)
    Metasploit 使用MSFconsole接口
    Metasploit 模块和位置
    Nmap速查手册
    Linux常用命令大全(非常全!!!)
    Web中常见的绕过和技巧
  • 原文地址:https://www.cnblogs.com/AndersonX/p/8696397.html
Copyright © 2011-2022 走看看