zoukankan      html  css  js  c++  java
  • mysql数据导入

    1、windows解压


    2、修改文件名,例如a.txt


    3、rz 导入到 linux datapcode

    sudo su -
    cd /data/pcode/
    rm -rf *.txt


    4、合并到一个文件:cat *.txt > data.txt
    dos2unix data.txt
    对比文件行数
    wc -l *.txt

    5、mysql导入

    登录是加 --local-infile 可解决问题mysql报错:ERROR 1148 (42000): The used command is not allowed with this MySQL version

    mysql -h 服务器IP -u 用户名 -p密码 --local-infile=1 

    mysql -u root -p密码

    mysql> use 库名;

    mysql> load data local infile '/data/pcode/data.txt' into table 表名 CHARACTER SET gb2312 fields TERMINATED BY ',' LINES TERMINATED BY ' ' (present_code,present_type,expired_date,state);

    crontab -e 
    flock -xn /data/app/test/channel.lock -c "/data/app/test/channel_realtime.sh"

    channel.sh

    #!/bin/bash
    cd $(dirname $0)
    
    #source ~/.bash_profile 
    SYSTEM_TIME=`date '+%Y-%m-%d'`
    
    mysql -uroot -p密码 -h172.0.0.1 -P3306 < export_sql.sql > game.txt
    mysql -uroot -p密码 -h172.0.0.1 -P3306 < import_sql.sql

    import_sql.sql 

    load data local infile '/data/app/test/game.txt' into table st_ap_channel_total_2_mail LINES T
    ERMINATED BY '
    ' ignore 1 lines (app_id,channel_id,new_device_idcnt,active_device_idcnt,active_a
    ccount_idcnt,recharge_account_idcnt,online_account_idcnt,online_device_idcnt);
                                                                         

    ignore 1 lines表示忽略第一行,第一行的表头。

     export_sql.sql

    select * from temp

     ------------------

    第一种方法:
     在命令行下(未连接数据库),输入 mysql -h localhost -u root -p123456 < /data/test.sql
      第二种方法:
     在命令行下(已连接数据库,此时的提示符为 mysql> ),输入 source /data/test.sql

    ------------------

    1.C:>mysql -h hostname -u username -p
    按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root。
    进入命令行后可以直接操作MYSQL了。
    2.简单介绍一下MYSQL命令:
       mysql->CREATE DATABASE dbname;//创建数据库
       mysql->CREATE TABLE tablename;//创建表
       mysql->SHOW DATABASES;//显示数据库信息,有那些可用的数据库。
      mysql->USE dbname;//选择数据库
       mysql->SHOW TABLES;//显示表信息,有那些可用的表
       mysql->DESCRIBE tablename;//显示创建的表的信息
    三.从数据库导出数据库文件:
    1.将数据库mydb导出到e:mysqlmydb.sql文件中:
    打开开始->运行->输入cmd    进入命令行模式
    c:>mysqldump -h localhost -u root -p mydb >e:mysqlmydb.sql
    然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
    2.将数据库mydb中的mytable导出到e:mysqlmytable.sql文件中:
    c:>mysqldump -h localhost -u root -p mydb mytable>e:mysqlmytable.sql
    3.将数据库mydb的结构导出到e:mysqlmydb_stru.sql文件中:
    c:>mysqldump -h localhost -u root -p mydb --add-drop-table >e:mysqlmydb_stru.sql
    四.从外部文件导入数据到数据库中:
    从e:mysqlmydb2.sql中将文件中的SQL语句导入数据库中:
    1.从命令行进入mysql,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。
    2.退出mysql 可以输入命令exit;或者quit;
    3.在CMD中输入下列命令:
    c:>mysql -h localhost -u root -p mydb2 < e:mysqlmydb2.sql
    然后输入密码,就OK了。
    五.下面谈一下关于导入文件大小限制问题的解决:
    默认情况下:mysql 对导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:
    1.在my.ini中修改相关参数:
    影响mysql导入文件大小的参数有三个:
        memory_limit=128M,upload_max_filesize=2M,post_max_size=8M
    修改upload_max_filesize=200 M  这里修改满足你需要的大小,
    可以同时修改其他两项memory_limit=250M  post_max_size=200M
    这样就可以导入200M以下的.sql文件了。

  • 相关阅读:
    06文件操作
    内核层和用户层通讯的三种方式
    中断门
    工业控制网络安全技术与实践
    前言-anton安卓逆向的入门(零)
    前言与目录-白帽子讲Web安全(零)
    前言与目录-IDA Pro权威指南(零)
    前言与目录-C/C++常用算法手册(零)
    前言与目录-java常用算法手册(零)
    《想你的时候我和自己靠得很近》
  • 原文地址:https://www.cnblogs.com/linn/p/5613167.html
Copyright © 2011-2022 走看看