mac/Linux系统下alias和ln命令[-bash: mysql: command not found解决办法]

mac/Linux系统下alias和ln命令[-bash: mysql: command not found解决办法]

难得有闲时间,这段在家休息的时间里想再来研究下swoole。在mac中我之前开发PHP时使用的是PHP集成开发环境mamp pro。但是无奈mac系统自带的PHP安装Swoole扩展有点儿不方便,连pecl,phpize都没有,所以打算自己编译安装PHP、mysql、Nginx来做开发。第一步是安装mysql服务下载了官方的dmg安装包安装后mysql命令显示没有该命令。仔细研究了下,是因为mysql执行文件安装的位置不同。有很多解决方案,一个是alias一个是ln,下边就这两个方案一一说明。

dmg安装mysql后续


weiyongqiangdeMacBook-Pro:bin mars$ mysql-bash: mysql: command not found

其实使用mysql官方的dmg包安装后之所以出现命令没有找到的问题是因为mysql安装后可执行文件mysql并不在/usr/bin或者/usr/sbin下。

寻找安装后的mysql所在位置


weiyongqiangdeMacBook-Pro:bin mars$ sudo find / -name mysql/usr/local/mysql/usr/local/mysql-8.0.2-dmr-macos10.12-x86_64/bin/mysql/usr/local/mysql-8.0.2-dmr-macos10.12-x86_64/data/mysql/usr/local/mysql-8.0.2-dmr-macos10.12-x86_64/include/mysql

两种解决办法

alias建立别名:


weiyongqiangdeMacBook-Pro:bin mars$ alias mysql=/usr/local/mysql/bin/mysqlweiyongqiangdeMacBook-Pro:bin mars$ mysqlERROR 1045 (28000): Access denied for user 'mars'@'localhost' (using password: NO)

这种方法有一个缺点就是alias创建的别名是暂时的,也就是说当我们关闭命令行工具后再次打开运行mysql命令又显示-bash: mysql: command not found。当然对于alias的持久化也是有方法的,如下↓

  1. 若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc
  2. 若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc

建立符号链接[推荐]:

这种方法也是常用的方法,关于符号链接和硬链接的关系和区别大家可以自己去查看资料。

weiyongqiangdeMacBook-Pro:bin mars$ ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

因为mac启动了rootless所以将/usr/local/mysql/bin/mysql符号链接到了/usr/local/bin/mysql下

这样问题就解决了。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部