您的位置:首页 > 运维架构 > Shell

解决bash: mysql: command not found 的方法

2016-04-18 15:55 856 查看
[root@larry~]# mysql -u root
-bash: mysql: command not found

原因:

这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

首先得知道mysql命令或mysqladmin命令的完整路径;

[root@ebs-40271 ~]# ps -ef|grep mysql
root      1500     1  0 Jan18 ?        00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/ebs-40271.pid
mysql     1627  1500  0 Jan18 ?        08:21:52 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/ebs-40271.err --pid-file=/data/mysql/ebs-40271.pid
root     24556 24484  2 14:50 pts/1    00:01:11 mysql -uroot -p
root     24733 24715  0 15:42 pts/3    00:00:00 grep mysql


usr/bin/mysql 是指:mysql的运行路径
var/lib/mysql 是指:mysql数据库文件的存放路径
usr/lib/mysql 是指:mysql的安装路径

比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

[root@ebs-40271 ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin


至此完成软链接。

以下是补充:

linux下,在mysql正常运行的情况下,输入mysql提示: mysql command not found

遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:

把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下:

# cd /usr/local/bin # ln -fs /MYSQLPATH/bin/mysql mysql

还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。

注:其中MYSQLPATH是mysql的实际安装路径

PS:Linux查看mysql 安装路径

一、查看文件安装路径

由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。

这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径 在终端输入:

[root@localhost ~]#whereis mysql

回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)

[root@localhost ~]#whereis mysql

mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

二、查询运行文件所在路径(文件夹地址)

如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):

which mysql

终端显示:

[root@localhost ~]# which mysql /usr/bin/mysql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: