宝塔Linux环境CentOS MySQL数据库备份还原

罗帆 草根站长 2020-07-09 2034 1

我所接触的建站环境基本上所有的都是PHP+MySQL的环境,平时网站搬家主要都是针对这样的网站,我有经常性的数据库备份的习惯,平均下来每个与我都会给所有的网站进行完整的备份。备份的时候既要备份源码也要备份MySQL数据库,像一些小的网站,比如WordPress我都是用phpmyadmin进行备份,但数据表多的,比如discuz就是用帝国备份王进行数据库备份。但有一些网站,比如小说站,数据库高达十几个G,这个就没法通过帝国备份王备份,这个时候就要用到mysqldump来给MySQL数据库进行备份。

PHP MySQL.jpg

MySQL数据库的三种备份方式


方式一:phpmyadmin直接导出数据库

这个方式是我用的最多的,因为我主要的网站都是WordPress建立,像WordPress这样只有十来个表单的网站程序,用phpmyadmin备份完全没有问题。但是,我强烈建议做了该备份的时候,记得做一个方式二的备用备份,万一呢。


方式二:帝国备份王

帝国备份王真的是太好用了,我炒鸡喜欢用这个进行备份,作为帝国精品的开源程序,帝国备份王备份数据,然后再用帝国备份王恢复数据,都不错。有一个缺点,那就是帝国备份王也只能备份少量的数据,数据超过1G的,就不太建议了。


方式三:mysqldump备份

这个是最近才开始用的备份,主要受人之托给备份一个4G数据库的网站,这个我开始的时候就放弃了方式一,选择的是方式二,不过由于数据库太大,备份一回儿就会提醒超时之类的,反正就是不成功,于是就考虑采用mysqldump给MySQL进行备份。


以下:数据库用户名:root;数据库密码:12345;数据库名:6789

文件存档目录:/www/

文件存档名:bei.sql


导出

mysqldump -uroot -p12345 6789 > /www/bei.sql


导入

这里宝塔面板推荐直接将数据库文件上传到/www/backup/database
然后在宝塔面板的数据库里点恢复数据就可以读出对应的备份文件

导入的时候可以用宝塔后台自带的数据库导入,这个只需要把导出的sql文件放到 ../backup/database/ 文件夹里,直接在宝塔后台数据库里进行恢复即可。


我非常非常的不建议使用宝塔自带的数据库备份(怕数据不完整),但是推荐宝塔自带的数据库恢复。


备注:Linux服务器远程连接,进入MySQL执行代码

mysql -hlocalhost -uroot -p


方式四:Windows系统CMD数据库备份

上面都是Linux操作系统的数据方式,这里提供一个Windows系统的方式:

1.进入到Windows系统,通过 Win + R 调出命令,输入

cmd

进入到CMD命令中心。

通常我采用的是Windows版本的宝塔,数据库安装的位置是:D:\BtSoft\mysql\MySQL5.5


2.那得先进入到D盘,输入

d:


3.这样你就进入了D盘,后就输入

cd BtSoft\mysql\MySQL5.5\bin

这就表示进入到数据的位置(因为我的数据库安装的位置是 D:\BtSoft\mysql\MySQL5.5 )


4.这样你就进入到了数据库文件夹,接着输入下面的内容

mysqldump -uroot -p 9999> 1111.sql

这里有三个参数需要注意,第一个root表示数据库用户名,9999表示数据库名称,1111.sql表示将数据库打包备份成1111.sql这个文件。


5.输入上面的内容后,按回车键,然后就需要输入root的密码,输入密码后按回车键。


6.然后耐心等呀等,根据你的数据库大小和服务器配置来决定等待的时间长短,我备份1G的数据库大概花了30多秒,备份好了文件就会出现在

D:\BtSoft\mysql\MySQL5.5\bin


7.备份好了,如果是Windows系统需要恢复数据,方法和上面的Linux差不多,比如我的宝塔数据库恢复的位置是:

D:\backup\database

把备份的数据库文件1111.sql放到 D:\backup\database 里,最后依旧是直接在宝塔后台数据库里进行恢复即可。


8.如果你是需要修复数据库,那就使用:

mysqlcheck -r -u数据库用户名 -p密码 数据库名

备注:如果是C盘要如何进呢

先调出CMD的窗口,然后①输入字符“cd..”,按“Enter”键。②继续输入字符“cd..”,按“Enter”键。③输入字符“dir”,按“Enter”键。④输入“cd+文件名”可进入文件

或者用:

cd c:\

进入C盘根目录

备注:如果是杰奇的网站数据库jieqi_article_chapter有使用中

接着上面的步骤3,首先输入下面的代码,然后回车键

mysql -uroot -p

然后会提醒你输入密码,输入密码之后回车键,然后输入下面的内容,再回车

show databases;

这样就会显示当前的数据库,接下来选择你要修复的数据库

use 要修复的数据库名;

接下来依次检查、分析、修复、优化这个数据库表,每次都要按回车键,每次耗费的时间会根据数据库的大小来决定

CHECK TABLE `jieqi_article_chapter`;
ANALYZE TABLE `jieqi_article_chapter`;
REPAIR TABLE `jieqi_article_chapter`;
OPTIMIZE TABLE `jieqi_article_chapter`; 

搞定

评论

精彩评论