linux MySQL Daemon failed to start

修改mysql数据文件路径后

执行 service mysqld start

MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

解决办法

找到mysql_install_db 路径

find / -name mysql_install_db -print

[root@localhost mysql]# find / -name mysql_install_db -print                    /usr/bin/mysql_install_db

执行以下命令

/usr/bin/mysql_install_db --defaults-file=/etc/my.cnf --datadir=/app/mysqldata

如果还不行

修改/etc/selinux/config,修改下面内容

SELINUX=disabled

重启机器

reboot

 

### 可能的原因分析 当尝试启动 `mysqld.service` 时遇到 “Unit not found” 的错误,通常表明 MySQL 或 MariaDB 并未正确安装在系统上,或者服务名称不匹配当前环境中的实际配置。以下是可能原因及其解决方案: #### 1. **MySQL/MariaDB 未正确安装** 如果 MySQL 或 MariaDB 尚未完全安装,则不会存在名为 `mysqld.service` 的 systemd 单元文件[^1]。 #### 2. **服务名称差异** 某些 Linux 发行版(如 CentOS/RHEL)默认使用的是 MariaDB 而不是 MySQL。因此,在这些环境中,应该使用 `mariadb.service` 来代替 `mysqld.service` 启动服务[^3]。 --- ### 解决方案 #### 方法一:验证并重新安装 MySQL/MariaDB 确认是否已成功安装 MySQL 或 MariaDB。可以运行以下命令来检查软件包是否存在: ```bash rpm -qa | grep mysql ``` 如果没有返回任何结果,则说明尚未安装 MySQL。可以通过 YUM 安装它: ```bash sudo yum install mysql-server -y ``` 完成安装后,再次尝试启动服务: ```bash sudo systemctl start mariadb # 对于基于 RHEL/CentOS 的发行版 # 或者对于其他支持原生 MySQL 的版本 sudo systemctl start mysqld ``` #### 方法二:检查服务名一致性 由于部分操作系统会自动替换 MySQL 为兼容的 MariaDB,默认的服务单元可能是 `mariadb.service` 而非 `mysqld.service`。此时应改用如下方式启动服务: ```bash sudo systemctl start mariadb ``` #### 方法三:手动创建缺失的服务单元文件 如果确实需要自定义服务单元文件,可按照官方文档指导新建 `/usr/lib/systemd/system/mysqld.service` 文件,并填充适当的内容。例如: ```ini [Unit] Description=MySQL Server After=syslog.target After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS LimitNOFILE=infinity Restart=on-failure [Install] WantedBy=multi-user.target ``` 之后刷新 daemon 配置缓存并重试: ```bash sudo systemctl daemon-reload sudo systemctl enable mysqld sudo systemctl start mysqld ``` #### 方法四:排查依赖关系问题 有时即使已经安装好程序本身,仍可能出现缺少必要组件的情况。这可通过修复模式更新现有数据包解决: ```bash sudo yum reinstall mysql-server ``` --- ### 总结 上述方法涵盖了从基础到高级的不同层次处理手段。具体采取哪一种取决于实际情况以及目标平台特性。务必先核实确切的服务命名约定再行动以免徒劳无功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值