0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

恒讯科技分析:如何解决云服务器上MySQL数据库的常见问题?

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2023-01-09 16:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

互联网上的很大一部分内容都存储在数据库中,MySQL是一种流行的选择。但是,如果我们的动态内容突然无法加载,或者当我们返回我的网站时,会看到一个几乎空白的白页,上面有消息“建立数据库连接时出错”。那么我们应该如何解决云服务器上MySQL数据库的常见问题?

下面内容是在帮助大家对云服务器上的MySQL数据库进行故障排除,按照此处列出的步骤,大家将有望恢复数据库功能。

一、检查服务是否正在运行
如果我们的网站无法连接到您的数据库,则该服务可能根本没有在监听。检查我们的MySQL状态,在Ubuntu和Debian系统上,这可以使用以下命令完成。
sudo服务mysql状态
CentOS和其他Red Hat变体也使用MySQL,但它被命名为MariaDB,因此请改用此命令。
sudo服务mariadb状态
CentOS和Debian上的状态检查输出将显示与下面 CentOS示例类似的内容,Debian输出几乎相同,只是服务名称不同。
mariadb.service - MariaDB 数据库服务器
已加载:已加载(/usr/lib/systemd/system/mariadb.service;已启用)
活动:活动(运行)自周三 2015-08-05 11:53:38 EEST;3小时23分钟前
PID:2451 (mysqld_safe)
C组:/system.slice/mariadb.service
├─2451 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─2609 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql...
打印输出相当冗长,但重要的部分通常是彩色的,以便更好地突出。绿色的“活动(运行)”表示服务应该正常运行,如果相反,它表示“活动(退出)”或“非活动(死)”,则该进程已停止或终止。
Ubuntu将相同的信息压缩到一行,就像下面的示例输出一样。
mysql 启动/运行,进程5897
如果我们的服务状态不是“正在运行”,请尝试使用与以前相同的服务命令重新启动进程,但使用“重新启动”而不是“状态”。
sudo服务mysql重新启动
sudo服务mariadb重新启动
如果数据库服务重新启动而没有遇到错误,我们可以尝试使用以下命令连接到它,出现提示时输入根密码。
mysql -u root -p
如果我们看到“欢迎使用 MySQL/MariaDB 监视器”,则连接成功并且数据库服务正在运行。相反,如果我们收到如下例所示的错误,可能输入了错误的root用户密码。再试一次,或者如果我们不确定root 密码,只需将root替换为其他用户名,即可使用我们有权访问的另一个用户帐户登录。
错误1045 (28000):用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)
如果我们的数据库设置在与Web主机不同的服务器上,请确保两台服务器可以相互访问。我们可以使用正确的安装用户名使用下面的命令从我们的Web服务器测试数据库连接。
mysql -u <用户名> -p -h <数据库服务器私有IP>

二、检查配置
当 MySQL正在运行但您的网站仍未正常加载时,或者当我们尝试手动连接到数据库时收到如下错误消息,您应该查看服务配置。
错误 2002:无法通过套接字“/tmp/mysql.sock”连接到本地 MySQL 服务器 (111)
在Debian和Ubuntu服务器上,MySQL的配置文件通常保存在 /etc/mysql/。也可以将特定于用户的设置存储在 /home//.my.cnf 中,这将覆盖全局配置。检查是否设置了任何用户级别覆盖。通常建议为不同的Web应用程序使用单独的用户名,因此至少检查那些与我们的页面加载问题相关的用户名。我们可以使用以下两个命令中的第一个打开全局配置文件,并通过将 替换为数据库用户名来使用后者打开特定于用户的配置文件。
须藤纳米 /etc/mysql/my.cnf
sudo nano /home/<用户>/.my.cnf
通过向下滚动到 [client] 和 [mysqld_safe] 设置,我们会发现类似于此处示例的内容。
[mysqld]
#
# * 基本设置
#
用户 = mysql
pid-file = /var/run/mysqld/mysqld.pid
套接字=/var/run/mysqld/mysqld.sock
端口= 3306
basedir = /usr
数据目录 = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
跳过外部锁定
#
# 而不是跳过网络现在默认是只听
# localhost 哪个更兼容并且安全性更高。
绑定地址 = 127.0.0.1
对于 CentOS 和其他 Red Hat,主要配置文件存储在略有不同的位置,打开它进行检查
sudo vi /etc/my.cnf
[mysqld]
数据目录=/var/lib/mysql
套接字=/var/lib/mysql/mysql.sock
这里需要密切注意的行是“socket”、“datadir”和“bind-address”。上例中的参数采用默认值,在大多数情况下,我们的配置看起来是一样的。确保设置指向正确的目录,以便 MySQL 可以实际找到所需的文件。检查“datadir”的最简单方法是使用下面的命令
sudo ls -l /var/lib/mysql/
输出将列出该目录中的所有文件,它应该至少包含以下内容以及您创建的任何数据库。
drwx------ 2 mysql root 4096 Aug 5 12:23 mysql
drwx------ 2 mysql mysql 4096 Aug 5 12:29 performance_schema
如果数据目录或套接字已被移动并且 MySQL 不知道它们在哪里,请修复配置文件以指向正确的目录。您可以使用以下命令搜索文件夹。
sudo find / -name performance_schema && sudo find / -name mysql.sock
我们需要检查的第三个参数是绑定地址,只有当我们的数据库需要远程访问时才真正相关。在Debian和Ubuntu安装中,绑定默认设置为环回地址,这可以防止从本地主机外部调用数据库。CentOS 没有相同的参数,除非手动设置。对于我们的Web服务位于与数据库不同的服务器上的任何设置,此绑定地址应设置为服务器自己的私有IP。

三、检查错误日志
如果配置看起来正确并且服务正在运行,但您的网站仍未按预期加载,请尝试检查日志中是否有任何提示可能是什么原因。
Debian和Ubuntu服务器将错误日志存储到 /var/log/mysql/error.log。我们可以使用“less”来阅读日志,但这可能不是很方便,因为日志中包含的不仅仅是严重错误。相反,使用“grep”搜索日志。
sudo grep -i 错误 /var/log/mysql/error.log
如果我们在最近的日志中找不到任何内容,请同时检查存档的日志。为此,请使用“zgrep”和与常规“grep”相同的命令
须藤 zgrep -i 错误 /var/log/mysql/error.log.1.gz
由于CentOS下的数据库命名为MariaDB而不是MySQL,所以日志也以不同的名称保存。您可以使用以下命令搜索日志。
sudo grep -i 错误 /var/log/mariadb/mariadb.log
Debian 系统还将 MySQL 事件报告到 /var/log/syslog,以过滤掉其他所有内容,使用“grep”和两个由 .* 分隔的关键字来表达“和”,就像下面的命令一样。
sudo grep -i -E 'mysql.*error' /var/log/syslog
如果我们找不到任何有用的东西,请尝试不同的关键字,例如“开始”以查看服务上次重新启动的时间,或“失败”以查找可能不会报告为错误的任何不太重要的问题。

以上是解决云服务器上MySQL数据库的常见问题。希望能帮助到大家参考!

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    4092

    浏览量

    68656
  • MySQL
    +关注

    关注

    1

    文章

    938

    浏览量

    29823
  • 云服务器
    +关注

    关注

    0

    文章

    842

    浏览量

    14754
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零基础如何用服务器搭建网站?完整教程

    提供协助,帮助快速落地。 第一步:理解主要概念  在动手前,先了解几个名词:服务器是租用的虚拟主机资源;域名是用户访问网站的地址;DNS解析把域名指向服务器IP;Web
    的头像 发表于 01-29 16:18 676次阅读

    科技解析:如何安装MySQL并创建数据库

    安装和管理MySQL不必复杂。只需几分钟,你就能在Linux服务器搭建MySQL,创建第一个数据库,甚至自动化备份——同时确保
    的头像 发表于 01-14 14:25 461次阅读

    Node-RED+Modbus_slave:JSON数据采集与阿里服务器上传

    MYSQL数据库中。在参照本文档进行操作时,请先参照附录1和附录3搭建所需实验环境。 1.2注意事项 本文档不单单适用于阿里TCP服务器,也适用于其他TCP
    的头像 发表于 01-05 17:37 1055次阅读
    Node-RED+Modbus_slave:JSON<b class='flag-5'>数据</b>采集与阿里<b class='flag-5'>云</b><b class='flag-5'>服务器</b>上传

    工业数据中台支持接入MySQL数据库

    工业数据中台完全支持接入MySQL数据库 ,且通过数据同步、集成与治理等技术手段,能够充分发挥MySQL
    的头像 发表于 12-04 11:23 557次阅读
    工业<b class='flag-5'>数据</b>中台支持接入<b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>吗

    科技解析:服务器监控与告警设置—企业必备指南

    ,从而有效防止业务中断,减少对客户的潜在损失。 1.监控的作用 服务器监控可以 实时了解CPU、内存、磁盘、网络使用情况 监测应用服务状况(像网站、数据库、游戏服务器这类) 检测异常登
    的头像 发表于 11-25 17:42 879次阅读

    科技分析:香港服务器如何远程桌面连接和管理?

    对于选择香港服务器的企业和开发者而言,无论身在何处,稳定、安全地远程连接和管理服务器都是首要任务。科技将详细解析如何通过远程桌面连接(Windows)和SSH(Linux)等主流方
    的头像 发表于 11-06 14:18 927次阅读

    科技解析:如何在日本服务器安装和配置数据库(如MySQL)?

    为您的业务部署日本服务器后,下一个关键步骤就是安装和配置数据库。无论是用于网站、应用程序还是数据分析,一个稳定高效的数据库是业务的核心。
    的头像 发表于 11-04 11:07 873次阅读

    华纳香港服务器数据库索引优化策略

    )实施有效的索引优化策略。无论您是IT管理员还是开发人员,了解这些技巧都能帮助您优化数据库效率,确保业务高效运转。下面,华纳(hncloud)将通过结构化分析,一步步解析香港服务器
    的头像 发表于 10-16 17:06 680次阅读

    mysql数据恢复—mysql数据库表被truncate的数据恢复案例

    ECS网站服务器,linux操作系统,部署了mysql数据库。工作人员在执行数据库版本更新测试时,错误地将本应在测试
    的头像 发表于 09-11 09:28 1368次阅读
    <b class='flag-5'>mysql</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>mysql</b><b class='flag-5'>数据库</b>表被truncate的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库服务器意外断电导致数据库报错,报错内容为“system01.dbf需要
    的头像 发表于 07-24 11:12 923次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>服务器</b>异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    科技分析:Ubuntu服务器数据共享高效方案

    在当今计算时代,企业对于数据共享的需求日益增长,尤其是在使用Ubuntu服务器的场景下,如何实现高效、安全的数据共享成为关键问题。本文将
    的头像 发表于 07-09 21:40 1711次阅读

    企业级MySQL数据库管理指南

    在当今数字化时代,MySQL作为全球最受欢迎的开源关系型数据库,承载着企业核心业务数据的存储与处理。作为数据库管理员(DBA),掌握MySQL
    的头像 发表于 07-09 09:50 969次阅读

    科技分析储存服务器搭建教程

    搭建存储服务器是一个相对复杂但极具实用性的项目,以下是一个简化的搭建教程,帮助你快速入门。 一、明确需求 在搭建存储服务器之前,首先需要明确使用场景和存储需求。例如,是为了家庭影音
    的头像 发表于 07-07 11:07 1535次阅读

    MySQL数据库采集网关是什么?有什么功能?

    MySQL数据库采集网关是一种用于连接、采集、处理并传输数据MySQL数据库的中间设备或软件系统,通常部署在
    的头像 发表于 05-26 15:20 891次阅读

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行
    的头像 发表于 05-23 09:18 1554次阅读