首页 > 代码库 > 35 mysql 备份与恢复

35 mysql 备份与恢复

 

[root@OBird ~]# mysqldump -uroot -pzaq12wsx discuz  #查看discuz 数据库的内容


[root@OBird ~]# mysqldump -uroot -pzaq12wsx discuz > /data/discuz.sql

                                                                      #备份discuz 库数据


[root@OBird mysql]# vim /etc/init.d/mysqld  # 查看数据库存放路径的配置


[root@OBird mysql]# cd /var/lib/mysql/

[root@OBird mysql]# ls                  #查看discuz的保存目录


[root@OBird mysql]# cd discuz/

[root@OBird discuz]# ls

db.opt                                 pre_common_usergroup_field.frm      pre_forum_tradecomment.frm

pre_common_admincp_cmenu.frm           pre_common_usergroup_field.MYD      pre_forum_tradecomment.MYD

pre_common_admincp_cmenu.MYD           pre_common_usergroup_field.MYI      pre_forum_tradecomment.MYI

pre_common_admincp_cmenu.MYI           pre_common_usergroup.frm            pre_forum_trade.frm

pre_common_admincp_group.frm           pre_common_usergroup.MYD            pre_forum_tradelog.frm

pre_common_admincp_group.MYD           pre_common_usergroup.MYI            pre_forum_tradelog.MYD


——————————————————————————————————————

做个测试 删除 discuz 中某个数据表

[root@OBird discuz]# rm -rf pre_forum_post*

[root@OBird discuz]# /etc/init.d/mysqld restart

Stopping mysqld:                                           [  OK  ]

Starting mysqld:                                           [  OK  ]


再重新访问论坛帖子:如下图

技术分享

下面进行恢复的操作:


[root@OBird discuz]# mysql -uroot -pzaq12wsx discuz < /data/discuz.sql


再刷新帖子页面,帖子恢复正常。

##########################################################################


单独备一张表:


[root@OBird discuz]# mysqldump -uroot -pzaq12wsx discuz pre_forum_post > /data/post.sql


[root@OBird discuz]# rm -rf pre_forum_post*

[root@OBird discuz]# /etc/init.d/mysqld restart

重启mysqld 后再查看论坛,帖子不再显示。如下图:

技术分享

再次恢复

[root@OBird discuz]# mysql -uroot -pzaq12wsx discuz < /data/post.sql 

  #discuz pre_forum_post 备份的时候要带表名,恢复的时候不需要。


######################################################################

其他小问题

用户在备份的时候没有指定字符集,会导致恢复的时候显示乱码。


[root@OBird discuz]# mysqldump -uroot --default-character-set=gbk -pzaq12wsx discuz pre_forum_post > /data/post.sql


 --default-character-set=gbk  #设定黙认字符集


恢复的时候也要指定字符集


[root@OBird discuz]# mysql -uroot  --default-character-set=gbk -pzaq12wsx discuz < /data/post.sql   


字符集: gbk  utf8 这两种用的比较多。

本文出自 “CBO#Boy_Linux之路” 博客,请务必保留此出处http://20151213start.blog.51cto.com/9472657/1868103

35 mysql 备份与恢复