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文件了。

原文地址:https://www.cnblogs.com/linn/p/5613167.html