宝塔怎么恢复数据库​​咱在使用宝塔的过程中,难免会遇到数据丢失的糟心事。别慌!今天就来给大家唠唠,包教包会哦!​一、确认数据备份情况​宝子们,第一步得先瞅瞅咱们有没有备份数据。这就好比出门前得看看钥匙带没带,要是压根没备份,那恢复数据可就有点费劲咯。​宝塔面板自动备份查看​如果你之前设置了宝塔面板的自动备份,那可太幸运啦!登录宝塔面板后,在菜单栏中点击 “数据库” 选项进入数据库管理页面。在页面中找到要恢复数据的数据库,瞅瞅它旁边有没有显示 “有备份”。要是有,赶紧点开,这里面能看到备份文件的时间和大小,还能下载备份文件呢。如果你的网站数据也有备份,在站点那边也能找到相应的备份提示哦,操作类似,直接点站点旁边的【有备份】就行。​手动备份检查​要是没有自动备份,也别绝望,看看之前有没有手动备份过数据。一般,数据库备份文件可能在你指定的备份目录里,网站文件备份可能在网站根目录或者其他你存放的地方。仔细找找,说不定 “踏破铁鞋无觅处,得来全不费工夫” 呢。​二、恢复数据库数据​假设咱已经找到了数据库备份文件,接下来就该恢复数据库啦。这可是关键一步,别手抖哦!​从宝塔面板直接恢复​还是在宝塔面板的 “数据库” 管理页面,找到需要恢复的数据库,点击右侧的 “导入” 按钮。在导入页面中,选择 “本地导入”(如果备份文件在本地)或 “远程导入”(要是备份文件在远程服务器上),然后点击 “选择文件” 按钮,找到咱们之前备份好的数据库文件,选好后点击 “开始导入” 按钮。这时候就耐心等着吧,导入完成后,页面会给出导入结果的提示信息,看到 “导入成功” 这几个字,就说明数据库恢复有戏啦!​通过命令行恢复(进阶操作,适合有点技术底子的宝)​有些小伙伴可能觉得通过宝塔面板操作不够 “酷炫”,想试试命令行。安排!不过在操作之前,得确保你对命令行有一定了解,别瞎搞把系统弄崩了哈。​

  1. 查看是否开启 Binlog:宝塔默认是开启 Binlog 的(这简直是数据恢复的救星啊),要是没开启,那这招可就不太管用咯。可以通过 Linux 命令检查:find / -name mysqlbinlog -print,还可以在myconf里查看相关配置:​
​<button class="code-block-header-btn" type="button">TypeScript</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-wrap ghost-btn" style="visibility: inherit;"> 取消自动换行</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-copy ghost-btn">复制</button>(mysqld)​server_id = 1​log_bin = /var/log/mysql/mysql-bin.log​max_binlog_size = 1G​binlog_format = row​binlog_row_image = full​​
  1. 确定开启并找到 binlog 文件:在 MySQL 命令行中执行mysql> show master status;,就能看到类似下面的结果:​
​<button class="code-block-header-btn" type="button">TypeScript</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-wrap ghost-btn" style="visibility: inherit;"> 取消自动换行</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-copy ghost-btn">复制</button> ------------------ ---------- -------------- ------------------ ------------------- ​| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |​ ------------------ ---------- -------------- ------------------ ------------------- ​| mysql-bin.000006 | 613171 | | | |​ ------------------ ---------- -------------- ------------------ ------------------- ​1 row in set (0.00 sec)​​宝塔面板里 binlog 文件一般在/www/server /data文件夹。找到对应的 binlog 文件后,咱得把它复制一份出来,为啥呢?因为咱不能直接在原文件上操作呀,得小心谨慎,别把原始数据再搞坏了。复制到一个你容易找到的地方,然后通过命令行进入到这个目录。​3. 执行转换:这一步有点关键哦,在命令行里输入/www/server/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v -d 数据库名字 binlog文件 > /www/2.txt,这里的 “数据库名字” 要换成你实际的数据库名,“binlog 文件” 也要替换成你复制出来的那个 binlog 文件名。生成的文件后缀名可以自己改,我这里写成.txt,你也可以写成.sql,看个人喜好啦。​4. 提取所需数据:把生成的文件下载到本地,用像 Sublime 这种文本编辑器打开,利用它的查找功能,找到你需要恢复数据的数据表。比如说你要恢复的数据表名为Jzl_market,就用编辑器的查找功能搜索它,记得点上规则匹配按钮.*,然后点击 “Find all”,把找到的数据全选复制(Ctrl C)。​5. 执行恢复:新建一个文件,比如叫恢复数据.sql,把刚才复制的数据粘贴进去(Ctrl V)。然后把这个文件上传回服务器,通过 MySQL 命令行执行这个 SQL 文件,数据就恢复回来啦。是不是感觉自己像个技术大神?​三、恢复网站文件​数据库恢复好了,可别忘了网站文件哦。这就好比房子,数据库是家具,网站文件就是房子的框架,缺一不可。​解压备份文件​如果之前有网站文件备份,找到备份文件所在目录(不同的设置,不同的服务器,目录有可能会不一样哦,一般在网站根目录或者你指定的备份目录)。在宝塔面板的文件管理中,找到备份好的网站数据压缩包,点右键,选解压。解压路径直接填写网站根目录就行。解压完成后,可能解压出来的文件在一个文件夹里,这时候还得把文件夹里面的所有文件都剪切到根目录,这样网站目录中的文件才算是恢复完成了。​手动上传恢复(如果没有备份压缩包)​要是没有备份压缩包,但是你有之前网站文件的副本,比如说存在本地电脑或者其他存储设备里,那就得手动上传了。在宝塔面板里找到对应的网站根目录,把文件一个一个上传上去,这个过程可能有点繁琐,但是为了恢复网站,咱得有点耐心哈。​四、常见问题及解决办法​在恢复数据的过程中,可能会遇到一些小插曲,别担心,咱一个个来解决。​mysqlbinlog 命令找不到​有的小伙伴在通过命令行恢复数据时,可能会遇到mysqlbinlog命令找不到的情况。这时候可以用软连接的形式来解决。通过find / -name mysqlbinlog -print找到mysqlbinlog文件的实际路径,然后执行类似这样的命令:ln -s /实际路径/mysqlbinlog /usr/bin/mysqlbinlog,这样就能使用这个命令啦。​恢复后网站打不开或部分功能异常​
  1. 数据库连接问题:如果恢复后网站提示数据库连接错误,有可能是数据库信息配置不对。比如说你更换了数据库密码,但是网站的配置文件里还是旧密码。对于 WordPress 网站,需要在wp - config.php文件中,把 “数据库名 用户名 密码” 改成当前正确信息。​
  1. 网站地址问题:要是网站主页能打开,但是进入后台或者其他网页会跳转回旧域名地址,那可能是网站的 WordPress 地址(URL)和站点地址(URL)还是旧域名。可以在wp - config.php文件中添加以下两行内容来修改:​
​<button class="code-block-header-btn" type="button">TypeScript</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-wrap ghost-btn" style="visibility: inherit;"> 取消自动换行</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-copy ghost-btn">复制</button>define('wp_home','https://新域名');​define('wp_siteurl','https://新域名');​​或者在functions.php文件中添加以下两行代码:​​<button class="code-block-header-btn" type="button">TypeScript</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-wrap ghost-btn" style="visibility: inherit;"> 取消自动换行</button><button type="button" class="ud__button ud__button--link ud__button--link-default ud__button--size-md code-copy ghost-btn">复制</button>update_option('home','https://新域名');​update_option('siteurl','https://新域名');​​还可以在wp - config.php文件中添加下面一行代码:define('relocate',true);​要是这些方法都不行,那就登录 phpmyadmin 数据库管理页,找到wp_options表,将其中的siteurl和home字段修改为当前新域名。​好啦,宝子们,关于就讲到这里啦。按照这些步骤来,相信你一定能成功恢复数据,让网站重新 “活” 起来!要是在操作过程中有啥问题,随时来问我哦。​在数据恢复过程中遇到了特殊情况,或者对某个步骤还有疑问,欢迎分享具体细节,我可以为你进一步分析解答 。​​

点赞(0)
立即
投稿
发表
评论
返回
顶部