数据库的基本导入导出的命令 是 mysqldump 和 source
在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行
另一个是用phpmyadmin
先来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库 用source
也可以还原 但他导入文件时有大小限制不能超过2M
再来说说 mysqldump 和 source 用命令操作很快
但是想把导出的文件再导入时必须先建立一个数据库(这个库可以随便起名)
然后进入数据库后才能导入用phpmyadmin导入mysqldump
导出的文件也得需要这步
下面是从前辈那copy来的命令具体使用方法
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc >
wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名>
导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users>
wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc
>d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop
table
备忘: mysqldump在linux下可直接使用 在windows下有时需要进入mysql/bin中使用
因为有时用的是类似appserv的套装软件 这样的话命令就不能直接使用 因为这些命令没在环境变量的目录里
而且用mysqldump导出的备份 必须先建立数据库才能导入
4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:wcnc_db.sql
存疑: phpmyadmin导入有大小限制 不知道source导入时有没限制 而且导出时是不可以限制文件大小
并且分数个文件导出
mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。
操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock
table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。
在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户--backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。
假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:ak的文件夹中。又假设我们的操作系统为windows
xp,于是我们可以用以下的方法执行备份操作:
我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:
mysqldump -ubackup -p123456 -h 192.168.1.2 backup_test >
D:akakcup.sql
在这段命令中:
mysqldump 是myqldump的程序名了;
-u 是数据库的用户名,后面紧跟着用户名backup;
-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;
-h 是数据库的地址,如果没有此项表明是备份本地的数据库;
backup_test 要备份的数据库名称;
>
表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。
一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。
=======================================
备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename >
backupfile.sql
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump --add-drop-table -uusername -ppassword databasename
> backupfile.sql
直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip
> backupfile.sql.gz
备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename
specific_table1 specific_table2 > backupfile.sql
同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword -databases
databasename1 databasename2 databasename3 >
multibackupfile.sql
仅仅备份数据库结构
mysqldump -no-data -databases databasename1 databasename2
databasename3 > structurebackupfile.sql
备份服务器上所有数据库
mysqldump -all-databases > allbackupfile.sql
还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename <
backupfile.sql
还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword
databasename
将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql
-host=*.*.*.* -C databasename
======================================================
这种更灵活,导出 select * from table_name into outfile
'c:\path\filename.txt '
导入:LOAD DATA LOCAL INFILE 'file_name.txt' INTO TABLE
tbl_name