Chinaunix

标题: 关于环境变量的一个问题 [打印本页]

作者: 2kain    时间: 2017-12-07 16:39
标题: 关于环境变量的一个问题
今天在Centos下安装了个MySQL,我将/init.d/里的服务替换成新的mysql。并加入了环境变量。修改了my.cnf。装完尝试启动的时候提示找不到套接字。捣鼓了半天发现原来是当时系统自带的Mysql没有卸载。在尝试rpm-e卸载的时候产生了依赖关系。我就换了种方式,没有卸载。直接 rm -rf /usr/bin/mysql* 。 然后我在执行mysql命令的时候提示找不到该命令。到这里就产生疑惑了。 我在环境变量里面加入了新mysql的bin路径。如果它在/usr/bin下没找到,为什么不接着后面继续找我添加的路径呢?我 echo $PATH 显示之前添加的路径也都对。
另外我还想问问。自带的mysql 根据那个配置文件才会去找/usr/bin的。谢谢大佬


作者: q1208c    时间: 2017-12-08 00:06
回复 1# 2kain

你没说你用哪种方式安装的MySQL。

由于看到你后面用 rpm -e 删除原来的MySQL,我假定你是 源代码自己编译的。

首先,你要确认你的 mysql 命令所在的路径在 PATH 变量中。
其次,你要确认你的 mysql 命令本身有 可执行权限。



作者: 2kain    时间: 2017-12-08 10:31
回复 2# q1208c

谢谢,我直接用tar包安装的, 权限和环境路径都确认过了也export了。  
很奇怪的是,我又换了一台测试机照同样的方法做了一次。  发现不一样的结果

我先删除了/usr/bin下mysql相关的命令(这是自带的mysql的命令)

然后我在执行mysql 提示没找到命令。  可是过了一会儿,我又执行了一次发现它寻找到了我tar包安装的mysql命令,这应该根据环境变量找到的,但我执行mysqldump 提示还是在/usr/bin下没找到。

然后我重启了一次测试机,再次执行mysqldump执行成功。   我想问问是不是这个环境变量也有缓存...   

作者: q1208c    时间: 2017-12-08 10:56
回复 3# 2kain

没听说环境变量有缓存。

不过, 环境变量只在当前的shell窗口有效。
你不会是换了窗口吧?

作者: 2kain    时间: 2017-12-08 11:06
回复 4# q1208c

一直在当前的shell窗口,没有换过
作者: q1208c    时间: 2017-12-09 01:01
回复 5# 2kain

没见过这种情况。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2