zblog mysql数据库无法连接_ZBlog博客网站错误:MySQL数据库无法连接

news/2024/5/10 20:09:05/文章来源:https://blog.csdn.net/weixin_34691461/article/details/113219114

前言

前天搭建的博客网站,睡醒一觉起来网站挂逼了,其间无任何操作。主页都进不去,提示“MySQL数据库无法连接”,无论怎么刷新重启服务器都没用。

最终从中午1点搞到凌晨2点,皇天不负有心人终于解决了。其实问题很简单,只是没这方面的经验,走了很多弯路。我本人并不是搞WEB的,搞这个博客纯碎就是玩玩罢了。

处理这个问题的时候查了很久的资料,都是一些没太大意义的,无非就是让你改zb_user/c_option.php文件内的数据库相关信息,然根本就不是配置文件的问题。所以写下这篇博文记录一下,以防以后再出现这个问题,也给以后一些网友遇到此类问题提供一个参考。

6c06392ab1e6a002a8605d83c65f1ffe.png

解决思路

常见解决方式

zb_user/c_option.php配置有误

b843803a4d8e19023379d5ff95e376e9.png

首先说一下zb_user/c_option.php文件部分参数的含义。ZC_DATABASE_TYPE   数据库类型

ZC_MYSQL_SERVER    数据库地址

ZC_MYSQL_USERNAME   数据库用户名

ZC_MYSQL_PASSWORD   数据库密码

ZC_MYSQL_NAME         数据库库名

ZC_MYSQL_CHARSET      字符编码格式

ZC_MYSQL_PRE          表前缀

ZC_MYSQL_PORT         数据库端口号

检查了老半天,我的配置也没有错,故排除配置文件的问题。

相关服务未启动

ZBlog依赖服务只有三个:MySQL、Apache和PHP。

运行如下命令,均显示 active (running) 运行中。

sudo systemctl status mysqld

sudo systemctl status httpd

sudo rpm -qa | grep php

a16533b8683669dd31adba82d6aadd9d.png

另外该网站是在正常运行的状态下挂掉的。

综上所述排除了配置、依赖服务,考虑是否有可能是网站或系统环境问题?

查找问题根源

迁移网站

将云服务器上的网站和数据库均备份迁移到本地虚拟机中(云服务器和虚拟机均是Centos7系统)。

修改虚拟机网站zb_user/c_option.php配置文件参数,导入数据库脚本。

迁移完成,虚拟机浏览器中输入http://localhost/地址,可正常浏览,但进不了后台。OK先不管后台吧,进不了后台是因为备份迁移不对,正确的ZBlog网站备份和还原请浏览另一篇博文。

b99625fa0a6a4757995c17e3840df149.png

综上又排除了网站和数据问题,那么只剩下系统环境问题。ZBlog依赖系统环境只有三个:MySQL、Apache和PHP。

先从MySQL下手

SSH连接到云服务器,云服务器本地登录MySQL,没问题。对MySQL进行增删改查操作,也没问题。

本机远程连接MySQL,没问题。增删改查操作还是没问题。#本地连接MySQL

mysql -u root -p

#远程连接MySQL

mysql -h 123.123.123.123 -u root -p

OK,暂时先排除数据库问题。

Apache

浏览器可以访问网站,证明这个也是没有问题的。

PHP

嗯。。。这个怎么排查呢?先当它没问题好了。

对比各依赖环境版本

云服务器

MySQL:5.6

PHP:7.2

Apache:2.4

虚拟机

MySQL:5.7

PHP:7.0

Apache:2.4

嗯。。。MySQL和PHP的版本不一样,果断卸载重装一致的版本。然而问题还没解决。

确定问题

对比各依赖环境已安装的包sudo rpm -qa | grep php #查看PHP包列表

sudo rpm -qa | grep mysql #查看MySQL包列表

sudo rpm -qa | grep httpd #查看Apache包列表

对比发现云服务器的php包列表比虚拟机的PHP包列表少了几个包,将缺少的包装上。

OK了,网站正常访问了。

因此是少了某个PHP包导致无法连接数据库(为什么前一天又可以连接呢?左思右想不得而知)。

以下附上MySQL和PHP的卸载安装。

异常解决方法

卸载MySQL5.6卸载所有mysql包 sudo yum remove mysql*

查找所有mysql目录 sudo find / -name mysql

删除以上查找出来的目录sudo rm -rf /usr/share/mysql /var/lib/mysql

删除配置文件 sudo rm /etc/my.cnf

安装MySQL5.7下载PRM包wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

安装PRM包rpm -ivh mysql57-community-release-el7-11.noarch.rpm

安装mysql-community-serveryum install mysql-community-server

以不检查权限的方式启动mysqlmysqld --user=root --skip-grant-tables &

进入数据库mysql -u root

更新密码UPDATE mysql.user SET authentication_string=PASSWORD('替换为你的密码') where USER='root';

刷新     flush privileges;

设置远程登录     update mysql.user set host = ‘%’ where user = ‘root’;

提示ERROR 1820 (HY000)     set password = password('替换为你的密码');

卸载PHP7.2卸载所有PHP包    sudo yum remove php72*

查找所有php相关目录    sudo find / -name php

删除所有PHP文件      sudo rm -rf /usr/lib64/php /usr/share/php /usr/bin/php /usr/lib/php

删除/etc/yum.repos.d目录下所有带php字样的文件

安装PHP7.0添加PHP70源

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装PHP70W和相关包sudo yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel php70w-xml

附上我的mysql和PHP包

f0b472b159e69cb815f74853d147bed0.png

53915c39539125a7aa623bc87ed293d6.png

【参考文档】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_742844.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net core Asp.net Mvc Ef 网站搭建 vs2017 1)

1)开发环境搭建 首先下载安装vs2017 地址 :https://www.visualstudio.com/zh-hans/downloads/ 安装勾选几项如下图 ,注意点在单个组件时.net core 运行时一定要勾上,很多人都没勾结果新增不了.net core 项目 2)开发 1.新增.net core mvc …

LAMP架构部署和动态网站环境的配置

实验环境:操作系统:centos 7.5服务器IP:192.168.10.5运行用户:root连接工具:xshell工具web环境:Linuxapachephpmariadb(LAMP架构)大型动态应用系统平台主要是针对于大流量、高并发网…

我的博客网站开发5——博文正文页

为实现页面间的统一性和开发时代码的工作量,我们将页面相同的布局做成母版页,变化的内容在内容页进行变化。如下图: 这样,我们在写博文的显示全文页面时,我们只需在新增页面引用母版页就可实现,页面相同页面…

建立个人网站需要学习哪些知识?学习的顺序是什么?

首先,做个人的网站,不是写笔记那么肯定是为了我展示给别人看。 想要把自己写的网站展示给互联网,就要把代码部署到服务器,如果按照正常的流程,就要首先登陆百度云,阿里云什么的,购买服务器&…

Chrome 不想让 HTTPS 网站通过 HTTP 下载文件

开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> 你是否经历过访问的明明是一个 HTTPS 网站,但是有时候站内下载东西使用的协议却是 HTTP,这其实存在安全隐患,现在 Chrome 不想让这样的事情发生…

Google也来凑热闹-网站导航

网站导航这个已经在国内做烂掉的东西,最近大鳄级别的Google也来凑热闹了-Google网站导航,据他们自己说: 在推这款产品之初,我们做了大量的调研,。。。我们发现还有大量的另一类用户,我们在帮助…

网站数据安全防护的八大要诀

不管是网络还是终端,信息安全问题始终是人们所最为关心的问题,所以当人们的数据中心正走向网络的时候,人们的安全防护也必须紧跟这个脚步。 1、认证和口令管理 这主要是一种一次性的活动而且仅仅是作为项目的一部分而完成的。有人可能会问一…

php网站防止sql注入攻击方法

网站安全防护—该如何防止SQL注入攻击? 移动互联网的发展势头已经远远超过PC互联网,手机移动端上网,以及持有量远超PC电脑, 随着移动大数据、区块链的技术在不断的完善,成熟,日常生活中经常会听到某某网站…

网站被黑 如何做好网站安全防护

网站被攻击,首先牵扯到的就是网站的开发语言,包括了代码语言,以及数据库语言,目前大多数网站都是使用的PHP,JAVA,.net语言开发,数据库使用的是mysql,oracle等数据库,那么…

网站被黑 怎么检测代码含有后门

收到阿里云的短信提醒说是网站存在后门,webshell恶意通信行为,紧急的安全情况,我第一时间登录阿里云查看详情,点开云盾动态感知,查看了网站木马的详细路径以及webshell的特征,网站从来没有出现过这种情况&a…

如何防止网站数据库被攻击被篡改?

某一网站平台的客户数据库被黑客篡改了,篡改了会员的卡信息以及金额,包括zhu单也被黑客篡改,导致平台的损失很大,在后台提现的时候,客户才发现会员的数据有异常,觉得不得劲,查询该会员账号的所有…

企业网站服务器遭到黑客入侵? 如何做好安全防护

好多企业网站遭遇黑客攻击,像黑客入侵在互联网只要有数据网络,就能使用数据网络远程操作目标的笔记本电脑、网络服务器、企业网站,从而任意地读取或篡改目标的重要数据,又又或者使用目标系统软件上的功能模块,比如对手…

如何防护黑客攻击网站漏洞?

从今年3月份全世界黑客攻击网站分析局势来看,黑客攻击的网站中中国占有了绝大多数。那麼作为一个公司或是开发公司,如何防止自身的网站黑客攻击,从企业网站建设之初,就应当搞好这种安全对策,当你的网站保证以下几个方面…

Linux中如何部署动态网站环境

当谈论起网站时,我们可能听说过静态和动态这两个词,但却不知道它们的含义,或者从字面意思了解一些却不知道它们的区别。 这一切可以追溯到网站和网络应用程序,Web应用程序是一个网站,但很多网站不是Web应用程序&#…

网站受攻击的具体形式是什么?怎么判断出网站被攻击?

现在做网站的站长面对网站攻击是在所难免的事,特别是一些比较热门的行业以及一些比较小的企业,更是被这些网站攻击整得焦头烂额。那么如果我们要解决攻击的问题,我们就必须去了解攻击到底是一个什么东西,具体的攻击有什么形式。 …

常见的网站攻击与防御,道高一尺,魔高一丈

从互联网诞生起,安全威胁就--直伴随着网站的成长,各种Web进犯和信息走漏也从未停止。2011年中国互联网范畴爆出两桩比较大的安全事故,一桩是新浪微博遭XSS进犯,另一桩是以CSDN为代表的多个网站走漏用户密码和个人信息。特别是后者…

网站服务器如何修复403禁止错误

403 Forbidden错误是HTTP状态代码,表示出于某种原因,绝对禁止访问您尝试访问的页面或资源。不同的Web 服务器以不同的方式报告403禁止的错误,我们在下面列出了其中的大多数。有时,网站所有者会自定义网站的HTTP 403 Forbidden错误…

网站服务器防护技术你了解多少?

技术的迅速发展,给人们提供便利的同时,也给人们带来了威胁。通常情况下,黑客、病毒会利用系统的漏洞来进行网络攻击,如篡改网页、蔓延病毒等,从而造成用户信息的窃取、重要数据的破坏。因此,要对web服务器的…

什么是cc,网站如何防御cc攻击?

网络信息技术的发展给互联网行业带来了新的发展机遇,也有很多网站遭遇很多黑客的攻击。目前网站攻击主要分为两大类,cc攻击跟ddos攻击。今天小编就跟大家聊一下服务器该如何应对cc流量攻击? 所谓的CC攻击(Challenge Collapsar)是DDOS(分布式…