首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获得MariaDB来监视MariaDB/mysql。amplify.agent.common.errors.AmplifySubprocessError

无法获得MariaDB来监视MariaDB/mysql。amplify.agent.common.errors.AmplifySubprocessError
EN

Server Fault用户
提问于 2022-08-14 19:32:09
回答 2查看 152关注 0票数 0

我正在尝试放大以监控ubuntu服务器20.04上运行在raspberry pi 4上的mysql数据库。我确信我已经正确地设置了一切,并与许多互联网指南交叉引用了我的工作。但是,mysql在设置之后不会出现在nginx放大的web界面中。我的日志显示了以下错误:

代码语言:javascript
复制
2022-08-08 10:32:41,134 [1824839] supervisor ps nginx output: ['   2074       1 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf', '1740162    2074 nginx: worker process', '1740163    2074 nginx: worker process', '1740165    2074 nginx: worker process', '1740166    2074 nginx: worker process', '1740168    2074 nginx: cache manager process', '']
2022-08-08 10:32:41,161 [1824839] supervisor nginx objects: ['5057a79cf47c63d99f326ae55fea2c99bc0e2dcfd6bc5cdc5492d770f0a55284']
2022-08-08 10:32:41,162 [1824839] supervisor status objects: []
2022-08-08 10:32:41,162 [1824839] supervisor api objects: []
2022-08-08 10:32:41,228 [1824839] supervisor failed to find running mysqld via "ps xao pid,ppid,command | grep -E 'mysqld( |$)'" due to AmplifySubprocessError
2022-08-08 10:32:41,228 [1824839] supervisor additional info:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/amplify/ext/mysql/managers.py", line 154, in _find_local
    ps, _ = (ps, None) if ps is not None else subp.call(PS_CMD)
  File "/usr/lib/python3/dist-packages/amplify/agent/common/util/subp.py", line 34, in call
    raise AmplifySubprocessError(message=command, payload=dict(returncode=process.returncode, error=raw_err))
amplify.agent.common.errors.AmplifySubprocessError: (message=ps xao pid,ppid,command | grep -E 'mysqld( |$)', payload={'returncode': 1, 'error': ''})
2022-08-08 10:32:41,229 [1824839] supervisor mysql objects: []

有人明白这些错误吗?你能帮我修复一下吗?让mariaDB出现在Nginx放大器上吗?

EN

回答 2

Server Fault用户

发布于 2022-10-14 10:19:10

mariadb守护进程被称为'mariadbd‘,并放大-代理正在寻找'mysqld’。

如果你跑

代码语言:javascript
复制
systemctl status mariadb

然后,以“loaded”开头的行应该有服务文件的位置。

代码语言:javascript
复制
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)

在本例中,它是‘/lib/systemd/system/maradb.service’。在文本编辑器中打开文件,并找到开始的行

代码语言:javascript
复制
ExecStart=

然后将路径从指向“mariadbd”更改为“mysqld”。然后,您需要重新加载守护进程并重新启动服务。

代码语言:javascript
复制
systemctl daemon-reload
systemctl restart mariadb
systemctl restart amplify-agent

代理现在应该能够找到该进程。

票数 1
EN

Server Fault用户

发布于 2023-03-01 14:38:51

为了修复这个问题,并使MariaDB出现在放大器中,我执行了以下操作:

  1. 系统lib状态mariadb mariadb.service - MariaDB 10.10.3数据库服务器已加载(/lib/systemd/system/maradb.service;已启用;供应商预置:已启用)

这显示了服务文件在/lib/systemd/system/mariadb.service中的位置。

  1. readlink -f /usr/sbin/mysqld向您展示了/usr/sbin/mysqld是指向/usr/sbin/mariadbd的符号链接。
  2. 使用/lib/systemd/system/mariadb.service的文本编辑器打开服务文件
  3. 找到以ExecStart=开头的行
代码语言:javascript
复制
ExecStart=/usr/sbin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION

并将路径从/usr/sbin/mariadb更改为/usr/sbin/mysqld

所以看起来:

代码语言:javascript
复制
ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION

保存文件并运行:

代码语言:javascript
复制
sudo systemctl daemon-reload
sudo systemctl restart mariadb
sudo systemctl restart amplify-agent

Mariadb现在应该出现在Nginx放大器中。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1108189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档