随笔|最近技术上遇到的一些问题
近期的主线任务是用next开发一个国际企业站,目前还在构思+开发中,既要尽量能够展示企业中的重要产品,又要做到响应式和国际化,按照之前的经验正在逐步开发,预计再有两三天能初步部署一版,由于是一个人开发,目前只考虑做成一个静态站点,有个好的seo效果就行。
支线任务:小程序改版,小程序对应的后台管理系统改版。
改版又涉及到后端的代码,接手的别人的java代码,比较麻烦,个人对java的理解早几年还行,接触过最早的javaweb项目,但是主要方向还是前端这一块儿,所以改造起来难度比较大,基本上要从头学习一遍java。
梳理一下最近遇到的问题:
小程序报错:服务端错误。
检查了服务器正常运行,域名没过期,初步判断是ssl证书过期,测试了一下,果然过期了,更新了证书,这个问题解决了。
微信公众号自定义菜单跳转小程序的指定页面,提示:公众号服务出现问题。
原先的逻辑公众号通过自定义菜单功能实现小程序的跳转,以及跳转到小程序的实名认证页进行实名认证,但是公众号的服务出现故障,导致通过接口实现的自定义菜单无法跳转到实名认证页,公众号的服务端代码已经丢失,重启对应的服务后无效,暂时改为通过小程序后台设置自定义菜单进行跳转。
DBeaver 导数据库的问题。
服务器上的数据需要导出到本地才能进行本地开发,所以准备用DBeaver导一份上 SQL 到本地。
首先遇到的问题是本地连不上远程数据库,咨询了相关同事,用 select user,host from mysql.db查询了用户权限,确认数据库没有远程访问的权限。
重新创建用户开放远程权限之后发现仍然连不上数据库。
查看了防火墙配置,发现 3306 端口没法,
Firewall-cmd —permanent —zone=public —add-port=3306/tcp
添加 3306 端口
重启防火墙Firewall-cmd —reload
这时候仍然连不上数据库,还需要到云服务的安全组放行 3306 端口,又登上云服务,操作一番,本地终于能连上数据库了。
数据库莫名被删。
早上起来的时候忽然发现小程序登不上去了,尝试登录后台管理系统,仍然不行,所有接口都报 502 网关错误。
心想不应该啊,昨天还好好的,怎么睡一觉起来服务全都挂了?
502 错误一般都需要重启服务,直接重启所有的服务。
重启之后发现小程序、后台仍然无法加载
systemctl list-units --type-service 查看各种服务的状态,发现服务全部重启失败。
于是单独启动一个一看,发现报错,Unknown database;
登上终端,登入 mysql ,发现对应的数据库真的被删了。
我还没打算跑路,怎么数据库给干没了?
就是用DBeaver导了一份数据导本地,怎么数据库还给干没了,邪了门了!
赶紧重新创建一个数据库,把昨天导出来的数据重新导一份进去。
重启服务...
行了,小程序又活了,后台也能访问了...
大半天过去了,终于又化险为夷了...
教训与总结
涉及到数据库的操作,一定要慎之又慎,本地的数据无所谓,线上的一定要谨慎操作。
好在前天导数据的时候导成功了,不然数据库也没做备份,数据都没了就真的歇菜了...
好处是熟悉了数据库方面的一些基本操作,对服务端的一些操作有所了解...
总之,遇到事情不要慌,抽根烟压压惊....
(完)
没有关注公众号的朋友,觉得文章对您有启发的话,记得点赞、关注、评论、转发一下。