mysql - mariadb.service 的作业失败,因为控制进程以错误代码退出
问题描述
我删除并重新安装了 mariadb,我收到了这个错误:
“mariadb.service 的作业失败,因为控制进程以错误代码退出。有关详细信息,请参阅“systemctl status mariadb.service”和“journalctl -xe”。”
当我使用 systemctl“status mariadb.service”时,我明白了
● mariadb.service - MariaDB 10.4.13 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: failed (Result: exit-code) since Sat 2020-05-30 09:37:19 +00; 15s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 9859 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 9860 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 9862 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
Process: 10002 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 10034 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 10036 ExecStartPost=/etc/mysql/debian-start (code=exited, status=203/EXEC)
Main PID: 10002 (code=exited, status=0/SUCCESS)
Status: "MariaDB server is down"
mai 30 09:37:17 Tv mysqld[10002]: 2020-05-30 9:37:17 0 [Note] InnoDB: FTS optimize thread exiting.
mai 30 09:37:17 Tv systemd[1]: mariadb.service: Control process exited, code=exited, status=203/EXEC
mai 30 09:37:17 Tv mysqld[10002]: 2020-05-30 9:37:17 0 [Note] InnoDB: Starting shutdown...
mai 30 09:37:17 Tv mysqld[10002]: 2020-05-30 9:37:17 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
mai 30 09:37:17 Tv mysqld[10002]: 2020-05-30 9:37:17 0 [Note] InnoDB: Buffer pool(s) dump completed at 200530 9:37:17
mai 30 09:37:19 Tv mysqld[10002]: 2020-05-30 9:37:19 0 [Note] InnoDB: Shutdown completed; log sequence number 61044; transaction id 22
mai 30 09:37:19 Tv mysqld[10002]: 2020-05-30 9:37:19 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
mai 30 09:37:19 Tv mysqld[10002]: 2020-05-30 9:37:19 0 [Note] /usr/sbin/mysqld: Shutdown complete
mai 30 09:37:19 Tv systemd[1]: mariadb.service: Failed with result 'exit-code'.
mai 30 09:37:19 Tv systemd[1]: Failed to start MariaDB 10.4.13 database server.
附言
要删除包,我首先使用此命令:
$ sudo apt-get remove --purge mysql-server mysql-client mysql-common -y
$ sudo apt-get autoremove -y
$ sudo apt-get autoclean
我搜索所有文件
sudo dpkg -l | grep -i mysql
彻底删除
我重新安装它
sudo apt-get install libmysqlclient-dev mysql-client
sudo apt-get install mysql-server
sudo apt-get remove mysql-server mysql-client mysql-common
sudo apt-get purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
我使用这个网站来帮助这个[如何使用配置和库文件完全删除 MySQL?
解决方案
如果 mysql 以某种方式停止并且另一个服务使用了 mysql 正在使用的端口,那么它会给出这个错误。
可能的解决方案:
1)我假设mysql端口号是3306
netstat -nlp | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1206/not_mysqld
kill -9 1206
如果结果不是 mysqld,则找到解决方案。杀死端口并再次运行 mysql。
2) 重启机器。因为如果您在遇到此错误时没有意识到发生了什么,则可能意味着您没有进行任何永久性更改,并且当您再次打开计算机时,旧端口很可能会开始工作。
推荐阅读
- typescript - 为什么我们在 TypeScript 中需要 @types
- sysadmin - 向 Windows 服务器发送重启(关机)命令的最佳方式是什么?
- python-3.x - 如何修复“模块'cv2'没有----成员pylint(无成员?
- ios - 如何配置多个 iOS URL Schemes
- entity-framework - Entity Framework Core 3:使用连接从多个源中提取数据
- java - Java - 匹配 3 个集合的标准以更新其中的 1 个
- c# - 在 Blazor 中使用 GetJsonAsync 无法捕获错误/响应,API 产生的 HTTP 响应为 204 'No Content'
- bash - 如何在for循环中为多个输入文件生成多个输出文件
- c++ - 为什么没有隐式调用基类的复制构造函数?
- python - 尝试读取在 Python 中创建的对象时访问冲突传递给 C++ 端的 std::vector 然后返回给 Python