MySql备份命令mysqldump ,站点数据备份
网站一直放在华为云,但是今年年底到期。也不打算续了,备案太麻烦。准备迁移到阿里云,就要备份博客数据、图片、文件、文章都先备份到本地。
1、mysqldump备份
最开始创建站点的时候,网址的所有数据表都放在xiuno4这个数据库中。只需要备份这个数据即可。备份MySql数据库有多种方法,这里只用mysqldump命令进行备份:
mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql
mysqldump -u root -p xiuno4 > /home/download/mysql20200205.sql-u root 是用户名,这里用root登录
-p 需要密码,不要在后面直接输入明文
> back.sql 备份到指定目录下的sql文件中
执行完上面的命令,会在指定目录生成.sql备份文件。

2、备份到本地数据库
先恢复到本地,在本地用XAMPP建了一个localhost站点。作为服务器的备份吧。
①打开本地MySql控制面板,选择xiuno4数据库,点击导入

②将服务器备份生成的sql文件拷贝到本地,选择文件。

③直接点击执行即可,等待数秒钟数据就备份到本地啦。打开localhost,文章数据和服务器上的一样。文件图片还没有拷贝过来。

3、坑点
2020年3月22日周末,折腾了一天。最后准备例行备份网站,又出问题了。和往常一样熟练的输入备份命令:
mysql -u root -p xiuno4 > /home/备份.sql这次竟然报错,某个表不存在,无法锁表进行备份:
bbs_navlinks doesn't exist when using LOCK TABLES
但是进入MySQL查看是有这个表的:

而且还删不掉
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bbs_navlinks' at line 1
删都删不掉,这个数据表还真是块牛皮癣。只能重启MySQL服务解决:
service mysql restart(最后多试了几次最终删除这个,但是有个插件无法正常使用,都无法卸载!看来这个插件的开发太坑了)
4、其它数据备份
文章的图片,附件等也需要备份。将站点根目录下的文件夹下载到本地,进行替换备份即可。重要的是几个文件夹:
|- index.php ---- 单入口文件|- config.yaml ---- SAE 环境下的 URL-Rewrite 规则,对于普通环境没用 |- admin/ ---- 后台管理 [-] conf ---- 配置文件目录 [-] control ---- 后台业务逻辑类 [-] view ---- 后台的模板文件 |- conf ---- 配置文件目录 |- control ---- 业务逻辑类,类名和方法名,跟URL一一映射 |- install ---- 安装目录 |- log ---- 日志目录 |- model ---- 数据模型,基本上一个表一个模型文件,一般继承于 xiunophp/core/base_model.class.php。
|- plugin ---- 插件,一个插件一个目录
|- upload ---- 图片,附件
|- service ---- 服务,目前只有点击次数,可以独立部署
|- tmp ---- 临时文件目录 |- view ---- 模板目录 |- xiunophp ---- XiunoPHP [-] cache ---- 缓存驱动 [-] core ---- 核心的类库 [-] db ---- 数据库驱动 [-] errorpage ---- 错误页面 [-] lib ---- 常用的类库 |- core.php ---- 被应用包含的核心文件
参考资料:



评论 (1)
上次备份 2020-07-15