系统有mysql的备份工具mysqldump
备份mysql 格式与mysql登陆类似,最后加上备份的库名。可以远程备份和本地备份
mysqldump -uroot -phd792310 discuz
常用mysqldump -uroot -phd792310 discuz > /data/discuz.sql
注意:备份文件是可读的,可以cat到创建表的语句和插入的内容,如:论坛帖子
论坛的数据库表在/data/mysql/discuz下,每一个表有3个不同的扩展名文件
如果把论坛的帖子表删除 rm -rf pre_forum_post论坛帖子将会报错。
恢复删除掉的数据库
mysql -uroot -phd792310 discuz < /data/discuz.sql 反向重定向
也可以只备份数据库中的一个表
mysqldump -uroot -phd792310 discuz pre_forum_post > /data/post.sql
恢复数据库中的一个表
mysql -uroot -phd792310 discuz < /data/post.sql
注意:备份时需要加表名,恢复时不需要加表名。只跟库名即可。
如果备份时没有指定字符集,数据库后来变更了字符集,恢复后会出现乱码。
所以备份时加上字符集命令
mysqldump -uroot --default-character-set=gbk -phd792310 discuz pre_forum_post > /data/post.sql
恢复时,同样需要指定字符集,这样可以避免字符集不一致的问题
mysql -uroot --default-character-set=gbk -phd792310 discuz < /data/post.sql
常见字符集有gbk utf8 latin 其中gbk和utf8都支持中文,而utf8支持更多的语言,推荐使用。