[[email protected] ~]# mysqldump -uroot -pzaq12wsx discuz #查看discuz 数据库的内容
[[email protected] ~]# mysqldump -uroot -pzaq12wsx discuz > /data/discuz.sql
#备份discuz 库数据
[[email protected] mysql]# vim /etc/init.d/mysqld # 查看数据库存放路径的配置
[[email protected] mysql]# cd /var/lib/mysql/
[[email protected] mysql]# ls #查看discuz的保存目录
[[email protected] mysql]# cd discuz/
[[email protected] 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 中某个数据表
[[email protected] discuz]# rm -rf pre_forum_post*
[[email protected] discuz]# /etc/init.d/mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
再重新访问论坛帖子:如下图
下面进行恢复的操作:
[[email protected] discuz]# mysql -uroot -pzaq12wsx discuz < /data/discuz.sql
再刷新帖子页面,帖子恢复正常。
##########################################################################
单独备一张表:
[[email protected] discuz]# mysqldump -uroot -pzaq12wsx discuz pre_forum_post > /data/post.sql
[[email protected] discuz]# rm -rf pre_forum_post*
[[email protected] discuz]# /etc/init.d/mysqld restart
重启mysqld 后再查看论坛,帖子不再显示。如下图:
再次恢复
[[email protected] discuz]# mysql -uroot -pzaq12wsx discuz < /data/post.sql
#discuz pre_forum_post 备份的时候要带表名,恢复的时候不需要。
######################################################################
其他小问题
用户在备份的时候没有指定字符集,会导致恢复的时候显示乱码。
[[email protected] discuz]# mysqldump -uroot --default-character-set=gbk -pzaq12wsx discuz pre_forum_post > /data/post.sql
--default-character-set=gbk #设定黙认字符集
恢复的时候也要指定字符集
[[email protected] discuz]# mysql -uroot --default-character-set=gbk -pzaq12wsx discuz < /data/post.sql
字符集: gbk utf8 这两种用的比较多。