mysql、mysqldump导出与导入sql文件
将sql文件导出导入数据库
方法一:导入导出的是sql语句
导出sql文件:mysqldump --single-transaction --host $ip -P $ip_port -u$dbUser $dbName --skip-lock-tables --tables $table > test.sql
导入:mysql -u$dbUser -p$dbPassword -h$ip -P$ip_port -D$dbName -e "source test.sql";
方法二:需要连接表后,将文件aa.txt每列数据用tab分割,导入到数据库表中指定的列
load data local infile "aa.txt" into table $table(col1,col2,col3) ;
方法三:
导出文件:mysql --default-character-set=utf8 -h$IP -P$PORT -u$USER -p$PASSWORD $DBNAME --skip-column-names -e "select * from db.table " | sed -e s/<NULL>/\N/g >> down.txt
导入:mysql --default-character-set=utf8 -h$IP -P$PORT -u$USER -p$PASSWORD $DBNAME -e "load data local infile down.txt into table db.table FIELDS ESCAPED BY / LINES TERMINATED BY (col1, col2)"
如果你指定关键词low_priority, 那么MySQL将会等到没有其他人读这个表的时候
如果指定local关键词,则表明从客户主机读文件
分隔符的使用 fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望 看到至少有下面的一个选项: terminated by 分隔符:意思是以什么字符作为分隔符 enclosed by字段括起字符 escaped by转义字符 terminated by 描述字段的分隔符,默认 情况下是tab字符( ) enclosed by描述的是字段的括起字符。 escaped by描述的转义字符。默认的是反斜杠 (backslash: )