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

本文讲述了在Mac上使用MAMP Pro外的PHP开发环境中,如何解决因MySQL安装位置不同导致的`mysql`命令找不到的问题,介绍了alias别名和符号链接两种解决方法,以及它们的优缺点和持久化设置。
摘要由CSDN通过智能技术生成

难得有闲时间,这段在家休息的时间里想再来研究下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的持久化也是有方法的,如下↓

若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc

若要让每一位用户都生效别名,则把别名加在/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下

这样问题就解决了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值