解决Mac命令行输入mysql提示找不到命令的问题
Mac上安装了mysql,之前遇到一个问题,每次重新登陆mysql,都要再设置一遍环境变量,我还在笔记中记录了这个问题. 今天学习了Linux才彻底解决这个问题. 主要还是对export这个命令理解不足,以为这个是一劳永逸的设置环境变量的命令. 但其实这只是起到一个类似将变量导入到当前程序的作用, 实际上对于系统来说,系统的环境变量仍然没有修改.
Tips:
“PATH 是可执行文件搜寻的路径,目录与目录中间以冒号(:)分隔, 由于文件的搜寻是依序由 PATH 的变量内的目录来查询,所以,目录的顺序也是重要的".
下面来说根本的解决方法.
1. 首先查看系统的环境变量可以直接输入export,这样可以查看到所有的系统环境变量,要能够直接输入mysql命令,mysql的命令的环境变量需要放到PATH中,如下可以看到,我系统中PATH这个变量里面是没有mysql的环境变量的, 所以输入mysql会提示找不到该命令.
2.设置mysql的环境变量 PATH=$PATH:/usr/local/mysql/bin
可以看到再输入mysql 命令能够识别了.
并且再次使用export查看系统中PATH环境变量,可以看到/usr/local/mysql/bin已经添加上去.
总结:
1. 要把环境变量设置到系统的环境变量中,直接定义PATH即可,格式是PATH=$PATH:你要加的路径 (或者PATH=${PATH}:路径)
2.使用export可以查看当前系统的环境变量.
3.使用export PATH=$PASH:路径 这种方式只能在当前生效,没有改变系统的环境变量. 下一次还是要再次进行设置.
4.疑问: 书中提到我们在原本的bash下面去执行另一个bash,结果操作的环境接口就会跑到第二个bash去(就是子程序). 这里不太理解去到子程序是怎样一个概念.比如我之前输入export PATH=${PATH}:/usr/local/mysql/bin , 从某种程度上说,这是在子程序中加上的mysql环境变量. 那如何定义我是进入了子程序,而不是在主程序中呢?
附上书中的图片,来自《鸟哥的Linux私房菜》.