dnf数据库备份&迁移
使用mysql自带的mysqldump备份
mysqldump -ugame -p --databases d_channel d_guild d_taiwan d_taiwan_secu d_technical_report taiwan_billing taiwan_cain taiwan_cain_2nd taiwan_cain_auction_cera taiwan_cain_auction_gold taiwan_cain_log taiwan_cain_web taiwan_game_event taiwan_login taiwan_login_play taiwan_main_web taiwan_mng_manager taiwan_prod taiwan_pvp taiwan_se_event taiwan_siroco test > ~/dnfSql_20240526.sql
注意
-u
那里改成自己的数据库用户名,默认是game;回车后数据数据库密码,默认是uu5!^%jg
;回车确认后等一会就备份完了,备份的文件在用户家目录下,名字为dnfSql_20240526.sql
。
恢复
mysql -ugame -p # 登录数据库
source ~/dnfSql_20240526.sql; # 恢复方式1
mysql -ugame -p < ~/dnfSql_20240526.sql # 恢复方式2
这样备份有个好处就是,不管是在什么系统之间迁移数据都适用。而且导出的sql文件压缩后体积很小。实测新部署的服务器初始数据库导出压缩完只有2M,我玩了很久的存档也才30几M。
可能会遇到备份报错,说什么表不存在啊之类的,可以在数据库执行这个查看需要备份的所有库名
SHOW DATABASES WHERE `Database` NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys');