全球视讯!恒讯科技分析:如何解决云服务器上MySQL数据库的常见问题?
互联网上的很大一部分内容都存储在数据库中,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/
须藤纳米 /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数据库的常见问题。希望能帮助到熬大家参考!
为您推荐
- 环球视点!好消息!青海5条公路同时通车
- 【全球聚看点】揽储季节调降利率 银行为何如此“任性”?
- 今头条!大型网课翻车现场,老师我只是打错字了,老师:我信你个鬼
- 【独家焦点】[手足癣医院]武汉手足癣医院哪家好
- 前沿热点:广州基层就业补贴什么时候发(2023)
- 当前速递!安徽芜湖孚能科技年产24GWh新能源电池项目开工
- 当前信息:中化国际:1月3日获融资买入647.97万元,占当日流入资金比例17.93%
- 全球看热讯:奥迪A6Avante-tron亮相广州车展,续航700公里,将于23年量产上市
- 当前热门:2023台州椒江哪里买车可以领购车补贴?
- 每日快讯!俄乌战场随时产生剧变?专家可怕警告话音刚落,一场激烈冲突爆发
- 世界报道:网信办:2022年11月全国受理网络违法和不良信息举报1188.3万件,同比下降13.6%
- 每日消息!会通股份董秘回复:公司以行业发展趋势及下游客户的应用需求为导向
- 天天精选!第二十四届海峡两岸经贸交易会线上展会正式上线
- 全球速讯:男子进山摔伤被困,救援人员紧急救助
- 当前快播:听完 1018 本书,我推荐这 10 本
- 【快播报】俄扩军令元旦正式生效 预计俄现役军人总数将超115万
- 当前速看:本市发布104项地方标准 涉9大领域
- 世界速讯:国星光电董秘回复:风华芯电已于2022年11月底完成股权转让登记手续
- 【热闻】海南欢乐节在三亚闭幕 南山续接欢乐开启“非遗嘉年华”
- 世界消息!小米商业保理公司更名 此前小米小额贷款也发生了工商变更
- 1【热闻】衣服上弄上铁锈应该怎么洗 衣服沾上铁锈如何清洗
- 2全球播报:新华全媒+丨端稳中国饭碗,产粮第一大省底气足!
- 3全球新动态:智慧赋能构建“未来学校”样板 打造民办教育高质量发展中澳模板
- 4全球简讯:长宁医生提醒:心脑血管患者感染新冠后,应该这样做……
- 5天天快报!12月29日新兴装备跌10.01%,景顺长城中小创精选股票基金重仓该股
- 6环球头条:北京中高考生体检异常指标检出率发布,肥胖等与往年基本持平
- 7天天亮点!华夏幸福124亿出售南方总部资产包 债务风险化解推进已一年有余
- 8今日观点!饿了么“城市守护者计划”加大补贴保障力度
- 9天天报道:感冒药、血氧仪保供问题如何解决?浙江千家医药医疗企业签订承诺书
- 10天天速递![快讯]凌钢股份发布质押公告一股东累计质押6050万股
- 1当前焦点!日经225指数12月28日下跌0.41%
- 2全球快资讯:中国冰雪运动行业数据分析: 69.8%消费者通过社交平台获取资讯
- 3环球新资讯:天风证券:给予绿能慧充买入评级,目标价位11.9元
- 4天天速递!美国个人储蓄暴跌 “钱途堪忧”?
- 5当前快看:中方是否将于下月发放旅游签证?外交部回应
- 6天天热推荐:南钢股份董秘回复:今年以来,受新冠疫情、地缘政治等的影响,全球环境不确定性上升,大宗商品价格高位运行
- 7天天讯息:湖北省武汉市交通违章处理要带什么资料?
- 8天天头条:夜蚊怕光吗?
- 9【天天报资讯】强力枇杷露是直接喝还是兑水喝 强力枇杷露要含服吗
- 10全球看热讯:大S被曝将做主播赚钱,连丢数个代言,开口要天价出场费遭嘲讽
- 环球滚动:“造车”VS“上车”,家电巨头想明白了
- 世界时讯:对上市公司参设产业基金应有所约束
- 环球滚动:明阳科技已收到第86次审议会议公告:江苏省专精特新小巨人,国内汽车座椅调节系统核心零部件的龙头企业
- 全球即时:冰川网络董秘回复:公司管理层及游戏业务部门会持续关注市场行业发展趋势,积极向同行业优秀的公司进行学习
- 焦点速递!贷款利率低于存款 土耳其银行是“送钱”吗
- 天天快看:河北累计承接京津转入企业和单位4.4万家
- 即时焦点:12月22日华利集团涨7.25%,广发稳健增长混合A基金重仓该股
- 世界资讯:新时达董秘回复:截至2022年12月20日公司股东总户数43,821户
- 环球滚动:壮心不已!曝C罗希望41岁参加2026年世界杯 但首先他要找到新东家
- 全球热资讯!白鹤滩水电站全部机组投产发电
- 【热闻】卡卡贷延迟还款会有什么后果会不会跑路
- 今日热门!利源精制: 第五届董事会第十一次会议决议公告
- 天天观察:鲁抗医药董秘回复:公司目前没有生产熊去氧胆酸或该药中间体
- 全球快消息!远程办公板块12月19日跌2.62%,国联股份领跌,主力资金净流出2.69亿元
- 今日聚焦!“新形势下的中意关系与经贸合作”主题研讨会在意大利米兰举行
- 【世界新要闻】怎么选好保温杯
- 新消息丨新加坡媒体:“监狱岛”成墨西哥旅游新王牌,别墅、餐厅等样样俱全
- 环球聚焦:新易贷微贷款逾期信用征信有影响吗
- 环球要闻:丰田汽车首次使用氢燃料汽车参加国际拉力赛
- 全球最新:金徽酒(603919)12月16日主力资金净买入2002.41万元
