mysql数据库备份和还原

来源:互联网 发布:软件设计师证书有用吗 编辑:程序博客网 时间:2024/05/01 07:02

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

几个常用用例:
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p dataname >dataname.sql
这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.

2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p dataname users> dataname_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

4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/wcnc_db.sql

 

 

例子:

1.打开cmd;

2.mysqldump -uroot -pmoiyer wireless_db > "h://dump.sql"

    这个命令将wireless_db的创建和数据脚本倒入到h:/dump.sql

 

 

事例其他 :

mysql -uroot -peLaStIx.2oo7;
mysql <./HostCache.sql -uroot -peLaStIx.2oo7;
mysql <E:/sql/HostCache.sql -uroot -peLaStIx.2oo7;

show databases;
use HostCache;
show tables;
desc HostCache;
exit;

 

alter table voucherwinner modify cpuid varchar(36);
alter table installerreport add skypeid varchar(32);


update operator set agentid='00000124' where username='00000124';
select * from HostCache order by TimeStamp;
select * from voucherwinner where skypeid not like '#%';
select ExternalIP, InternalIP from HostCache order by TimeStamp;
delete from HostCache where ISPType = 4;
delete from HostCache;

 

数据导入导出
把数据库asterisk中的表sip中的数据导入到backsip文件中。
该命令会把创建表的操作以及插入数据记录以脚本的形式存入文件
mysqldump -h192.168.5.92 -uroot -peLaStIx.2oo7 asterisk sip> backsip

带where条件的数据表导出
mysqldump -h62.125.19.241 -uroot -p --w "id>= '1000' and id <= '10000'"  asterisk

sip > backsip

把记录导入到新库中
mysql -uroot -peLaStIx.2oo7  <sip;
mysql -h192.168.5.26 -uroot -peLaStIx.2oo7< backsip

 

 

还有一种备份的方法是使用Navicat For MySql工具

三种方法:使用Navicat For MySql 将mysql中的数据导出,包括数据库表创建脚本和数据
(1),右键--->“转储sql文件...”

      该功能比较弱,不过也比较简单,直接保存文件。不能设置执行选项。


(2),右键---->“数据传输”.

     如果只想 导出数据库表结构,不导出数据,可以把“数据传输”-->“高级”-->“记录选项”中的勾去掉,则不会导出记录了。


(3),创建一个备份,然后“接触SQL”

     该方法没有试。