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/mysql
weiyongqiangdeMacBook-Pro:bin mars$ mysql
ERROR 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下

这样问题就解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MarsWill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值