WebServer部署时遇到的Bug与解决方法&&宝塔面板更换数据库版本时如何恢复数据库

发布于 2023-05-10  2,145 次阅读


先上一波成功运行WebServer的效果myWebServer

前因

昨天尝试运行webServer,make server的时候提示找不到mysql.h,得安装mysql-devel,但由于我用的是宝塔面板,当初安装mysql的时候选择了精简模式,这导致我安装不上mysql-devel,必须得重新安装编译版才行。又因为我的mysql版本是5.6,webServer推荐版本是5.7,我想一步到位,那就直接装编译版的mysql。这时候问题来了,重新安装需要先删除所有数据库文件,我就备份了数据库文件,想着既然备份了,后面重新恢复就行。但当我装完5.7,恢复了备份文件以后,发现我的博客坏了,WordPress要求重新安装,但即使我根据向导重新安装,WordPress会提示我表内容已经存在,得先清空表内容。而且虽然我此时用了编译版以后能安装mysql-devel了,但在make server的时候还提示缺少一个xxx(忘了名字).so文件,我按issue里面提到的方法把mysql/lib目录下的那几个xxx.so.*复制到了/usr/lib和/usr/lib64,然后make server成功了,但我运行./server -p 9006直接卡住了,一直卡住没下文,我已经确保9006端口放行了,数据库的用户名密码也已经填写,不知道该如何解决。后续我又重新装回mysql5.6(编译版的,之前用的极速版),发现即使恢复了备份文件WordPress也还是不行,如果恢复不了的话,可能我的几十篇文章就永远离去了...

需要解决的问题

目前的状态是

  • 博客删库,亟需恢复,此前有过备份
  • WebServer死活运行不了,有以下信息
    • 我用的是宝塔面板装的mysql5.6.50,cent os7.8,百度云盘里面原始版本的代码。昨天安装mysql-devel的时候提示与bt-mysql冲突,后来我查了下是因为在宝塔面板上用的mysql是快速编译导致的,在我重新安装编译版以后能成功装上mysql-devel,紧接着make server的时候遇到找不到-lmysqlclient,我按照这个issue中的提示

      把/www/server/mysql/lib下的libmysqlclient.*复制到/usr/lib和/usr/lib64,这次make servser成功了,但是我运行./server -p 9006没反应
    • 数据库已经创建好了,main.c中的数据库初始化信息和http_conn.cpp中的root路径也已经修改了
    • 运行日志为空

恢复博客数据

​ 因为博客已经恢复,所以提供不了图片,这边只能采取文字叙述

​ 当我登录博客网站的时候,提示要重新创建wordpress,但当我填完信息点击创建的时候,提示数据表中的表已经存在了,但我去数据库中查看,发现仅有表名,但表中没有内容。于是我果断把数据库给删掉了,因为我此前已经做了数据库的备份,只是用宝塔恢复的时候无法恢复到原有的状态,即前面提到的表存在但是数据不存在。删除之后,重新创建一个新的数据库,数据库的名字和密码与原先博客使用的一致,这个时候重新创建wordpress,发现成功了。然后我再重新恢复备份,然后打开博客,发现已经恢复到和原先一样的状态了

解决WebServer无法运行的问题

​ 我猜测用不了是不是因为我用的是原始版本,于是就更换了最新版本,最新版本运行还是运行不了,但是这个时候有日志了,日志显示Mysql Error,显然是数据库连接出了问题。但我不知道具体的原因,在翻阅了使用 MySQL 8.0 执行 ./server 日志出现 MySQL Error · Issue #80 · qinguoyi/TinyWebServer (github.com)这个issue后得到的启发,把数据库的错误打印了出来,错误内容是*Can't* *connect* *to* *local* *MySQL* *server* *throughsocket*'/var/lib/*mysql/mysql*.sock'(2),如下图WebServer部署时遇到的Bug与解决方法&&宝塔面板更换数据库版本时如何恢复数据库,百度以后发现需要建立软连接,但建立软连接的时候又出现了问题,提示ln: 无法创建符号链接"/var/lib/mysql/mysql.sock": 没有那个文件或目录。然后我又进行一番搜索,(95条消息) zabbix 安装 配置 部署 (实测成功)_biding7172的博客-CSDN博客参考了这个帖子的内容以后成功解决,方法是创建那个提示不存在的目录,然后重新进行软连接。此时我再重新启动服务就成功运行啦!

  • wechat_img
届ける言葉を今は育ててる
最后更新于 2023-05-10