-bash: /usr/local/mysql/bin/mysqld: No such file or directory

发布于:2025-05-10 ⋅ 阅读:(17) ⋅ 点赞:(0)

-bash: /usr/local/mysql/bin/mysqld: No such file or directory

1.Mysql安装常见的报错信息

1.1.报错信息

[root@Rocky9-12 ~]#echo $PATH
/root/.local/bin:/root/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
[root@Rocky9-12 ~]# whereis mysqld
mysqld: /usr/local/mysql/bin/mysqld
[root@Rocky9-12 ~]# ll /usr/local/mysql/bin/mysqld
-rwxr-xr-x 1 mysql mysql 211661577 Oct 11  2023 /usr/local/mysql/bin/mysqld
[root@Rocky9-12 ~]# mysqld
-bash: /usr/local/mysql/bin/mysqld: No such file or directory
文件存在,但提示文件一直提示找不到

1.2.分析问题

当你使用 whereis 命令能找到 mysqld 的路径,并且通过 ll 命令能看到该文件确实存在,但执行 mysqld 时却提示 “No such file or directory”,这通常不是文件本身不存在,而是因为缺少该程序运行所需的依赖库或者动态链接库路径配置有误。下面为你详细分析可能的原因及解决办法:
1. 缺少 32 位兼容库
	如果 mysqld 是 32 位程序,而你的系统是 64 位的,可能会因为缺少 32 位兼容库而导致找不到依赖的动态链接器。

解决办法:
    在 Rocky Linux 9 系统中,你可以使用以下命令安装 32 位兼容库:
    dnf install -y glibc.i686
2. 动态链接库路径配置问题
	mysqld 程序可能依赖于某些特定的动态链接库,而这些库的路径没有被正确配置到系统的动态链接库搜索路径中。

解决办法:
	临时解决:使用 LD_LIBRARY_PATH 环境变量来临时指定动态链接库的搜索路径。例如,如果 mysqld 依赖的库在 /usr/local/mysql/lib 目录下,可以执行以下命令:
	export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH
	mysqld
	
	永久解决:创建一个新的.conf文件,将动态链接库的路径添加到该文件中,然后更新动态链接库缓存。
	echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf
	ldconfig
3. 文件损坏
	mysqld 文件本身可能已经损坏,导致系统无法正确执行。
4. SELinux 或防火墙限制
	SELinux 或者防火墙可能会阻止 mysqld 程序的执行。
解决办法
	SELinux:可以临时禁用 SELinux 来进行测试:	
	setenforce 0
	如果禁用 SELinux 后 mysqld 能够正常执行,你可以修改 SELinux 的策略来允许 mysqld 运行。

防火墙:确保防火墙没有阻止 mysqld 所需的端口(默认是 3306)。可以使用以下命令开放端口:
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload

1.3.解决问题

按照以上步骤操作,应该能够解决 mysqld 执行时提示 “No such file or directory” 的问题。

最后发现自己下载的第一个32位软件
自己下错版本信息了
最后下载64位安装就成功了,再也没有提示错误了

在这里插入图片描述

endl


网站公告

今日签到

点亮在社区的每一天
去签到