Heim > Datenbank > MySQL-Tutorial > MySQL用作备份还原的导入和导出命令用法整理_MySQL

MySQL用作备份还原的导入和导出命令用法整理_MySQL

PHP中文网
Freigeben: 2016-05-27 13:45:52
Original
1461 Leute haben es durchsucht

mysqldump
命令行导出数据库:

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
如我输入的命令行:mysqldump -u root -p news > news.sql    (输入后会让你输入进入MySQL的密码)
(如果导出单张表的话在数据库名后面输入表名即可)
3、会看到文件news.sql自动生成到bin文件下
Nach dem Login kopieren

命令行导入数据库:

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p    (输入同样后会让你输入ySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库(mysql>create database news;)
5,输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名; 
如我输入的命令行:mysql>source news.sql;
Nach dem Login kopieren


实例:
导出


#> cd /usr/local/src
#> /usr/local/mysql/bin/mysqldump -uroot -p123456 cacti > cacti.sql;
Nach dem Login kopieren


这样就看到cacti.sql导出到了/usr/local/src/目录
1.导出整个数据库


  mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u root -p abc > abc.sql
Nach dem Login kopieren


2.导出一个表


  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u root -p abc users> abc_users.sql
Nach dem Login kopieren


3.导出一个数据库结构


  mysqldump -u root -p -d --add-drop-table abc >/usr/local/abc_db.sql
  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
Nach dem Login kopieren



导入


#> /usr/local/mysql/bin/mysql -uroot -p
mysql> create database cacti;   新建数据库名为cacti
mysql> use cacti;              选择目标数据库
mysql> source /usr/local/src/cacti.sql   导入数据库
Nach dem Login kopieren


这样就导入了cacti.sql文件

load data
(windows系统。。表结构一致的情况下)
命令在DOS的mysql/bin目录下执行:
导出:


select * from aaa into outfile "e:/a.txt";
Nach dem Login kopieren


导入:


load data local infile "e:/a.txt" into table aaa;
Nach dem Login kopieren


备份:SELECT INTO OUTFILE


SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy.txt'
Nach dem Login kopieren


默认使用tab分割字段,记录使用/n分割。可以自定义三个参数。


SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n';
Nach dem Login kopieren


即使用,分割字段,双引号限定字段内容,/n分割记录。
还可以指定某些条件的记录输出:


SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE &#39;/tmp/9enjoy_100.txt&#39;
Nach dem Login kopieren


还原:LOAD DATA INFILE
默认情况:


LOAD DATA INFILE &#39;/tmp/9enjoy.txt&#39; INTO TABLE hx_9enjoy
Nach dem Login kopieren


如果有指定界定符,则加上界定符的说明:


LOAD DATA INFILE &#39;/tmp/9enjoy.txt&#39; INTO TABLE hx_9enjoy FIELDS TERMINATED BY ','
 OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n'
Nach dem Login kopieren


如果db是GBK或utf-8等编码,需要在还原时指定CHARACTER SET参数,否则还原的数据是乱码。
如:


load data infile &#39;/tmp/9enjoy.txt&#39; INTO TABLE hx_9enjoy CHARACTER SET gbk;
Nach dem Login kopieren



注意事项
1.mysql必须要有权限访问生成文件的那个目录
2.由于安全方面的原因,不能覆盖已存在的文件,不管这个文件的权限是怎么分配的。
3.不能直接导出一个压缩文件。

以上就是MySQL用作备份还原的导入和导出命令用法整理_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage