Linux下mysql备份 恢复

  Linux下mysql备份 恢复  2011-03-04 14:45:55

分类: LINUX

比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump 
命令格式如下: 
[root@linuxsir01 root]# mysqldump -u root -p linux > /root/linux.sql 
Enter password:在这里输入数据库的密码 

通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排; 
比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。 

[root@linuxsir01 root]#mysqldump -u root -p linux > /home/beinan/linuxsir031130.sql 
Enter password:在这里输入数据库管理员root的数据库密码 

如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下: 

#mysqldump -u root -p tm | gzip > tm_050519.sql.gz 


这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql 
综上所述,我们学习时要学会变通。 

恢复: 
首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。 
比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作; 
[root@linuxsir01 root]#mysql -u root -p linux < /home/beinan/linuxsir031130.sql 
Enter password:在这里输入密码 

如果机器好,数据库比较小,几分钟就好了。 




如何导出数据库表的数据?(不同于备份哦) 

#mysql 

(#mysql>use linux;)#可有可无 

#mysql>select * from linux.table-name into outfile "/home/table-name.txt"; 

#/home/table-name.txt 可能会报错,如果这样去掉/home直接"table-name.txt" 

默认保存在/var/lib/mysql/table-name.txt 


对mysql数据库常用命令的一点补充; 

几个常用的mysql相关的管理命令 
mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。 
mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过; 
isamchk 是用来修复、检查和优化.ism后缀的数据库文件; 
mysqldump 是用于备份数据库,前面已经简单的说明过; 
myisamchk 用来修复.myi后缀的数据库文件; 

比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令; 

要把mysqld服务器停下来 
[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop 

然后执行 
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI 

上面的命令的意思就是检查所有的.myi文件,数据库的目录在/opt/mysql/var/linux/目录中 

如果有问题,应该用-r参数来修复 
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI 

7]mysqlshow 命令:显示用户选择的数据库和表 
[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [数据库名] 

比如我要查看名为linux的数据库;应该是: 

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux 

Mysql数据库备份和还原常用的命令



01 备份MySQL数据库命令
02  
03 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
04  
05 备份MySQL数据库为带删除表的格式
06  
07 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
08  
09 mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
10  
11 直接将MySQL数据库压缩备份
12  
13 mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
14  
15 备份MySQL数据库某个(些)表
16  
17 mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
18  
19 同时备份多个MySQL数据库
20  
21 mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
22  
23 仅仅备份数据库结构
24  
25 mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
26  
27 备份服务器上所有数据库
28  
29 mysqldump –all-databases > allbackupfile.sql
30  
31 还原MySQL数据库的命令
32  
33 mysql -hhostname -uusername -ppassword databasename < backupfile.sql
34  
35 还原压缩的MySQL数据库
36  
37 gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
38  
39 将数据库转移到新服务器
40  
41 mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

转载 linux系统运维
http://www.linuxyw.com/a/Mysql/20130511/311.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值