解决办法:Linux mysql命令 -bash mysql command not found 找不到命令

  • Post author:
  • Post category:linux



问题描述:


拿到以前的一台旧VM机器CentOS 7x,登陆上去后执行

mysql -u xxx -p ***

登陆mysql的时候

出现

-bash: mysql: command not found

,初始以为机器没有安装mysql,迅速开始确认是否本机安装了mysql亦或mariadb

各种确认语句来一波:

1、执行

mysql --version

输出:

-bash: /usr/bin/mysql: No such file or directory

1、执行

whereis mysql

输出(如果没有任何输出,请直接跳转到解决办法2):

mysql: /usr/lib64/mysql

2、执行

whereis mariadb

输出:

mariadb: /usr/local/mariadb

3、执行

service mysql status



systemctl status mysql.service

输出:

[root@SERVER bin]# systemctl status mysql.service
● mysqld.service - LSB: start and stop MariaDB
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: active (running) since Tue 2021-07-27 10:35:31 CST; 6 days ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3532 ExecStop=/etc/rc.d/init.d/mysqld stop (code=exited, status=0/SUCCESS)
  Process: 3664 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mysqld.service
           ├─3687 /bin/sh /usr/local/mariadb/mariadb-10.3.22-linux-x86_64/bin/mysqld_safe --datadir=/home/data/mysql/mariadb10.3.22 --pid-f...
           └─3769 /usr/local/mariadb/mariadb-10.3.22-linux-x86_64/bin/mysqld --basedir=/usr/local/mariadb/mariadb-10.3.22-linux-x86_64 --da..

4、执行

which mysql

输出:

/usr/bin/which: no mysql in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)


原因分析:


一顿输出操作后,可以确定本机安装了

mariadb

,从上述第3步可以确定,数据库服务处于开启状态,使用navicat使用旧用户名密码可以登陆,证明数据库状态没问题。

根据第4步的输出可以判断,之所以执行mysql命令出现错误,是因为在

/usr/local/bin

中未发现mysql。


解决办法:


使用软连接将mysql映射到bin目录下

根据第2步可以分析出,该机器安装了maridb,且安装路径在

/usr/local/mariadb

创建软连接:

ln -s /usr/local/mariadb/mariadb-10.3.22-linux/bin/mysql /usr/bin

创建完软链接后,再次执行

mysql --version

mysql  Ver 15.1 Distrib 10.3.22-MariaDB, for Linux (x86_64) using readline 5.1

再次执行

mysql -u xxx -p ***

可以正常登录。


解决办法2:

如果是本机没有安装任何的MySQL,那么本机无法使用

mysql

命令。


#1

使用yum直接安装mysql客户端(只安装客户端)

# 直接使用如下命令安装mysql客户端,注意使用:`yum install -y mysql-server` 是安装的mysql服务器端而非客户端
yum install -y mysql


#2

离线状态安装mysql客户端,此方案针对于一台linux无法访问外网的情况


step 1

: 访问mysql官方地址下载mysql客户端离线包

网址:

https://dev.mysql.com/downloads/mysql/

在这里插入图片描述


step 2

:下载好离线包后,拷贝移动到linux服务器中,使用如下命令进行离线安装。

rpm -ivh mysql-community-client-8.0.28-1.el8.x86_64.rpm --nodeps --force

在这里插入图片描述

step 3

:安装成功后即可使用

mysql -h 10.10.0.1 -u root -p

命令进行远程连接数据库



版权声明:本文为m0_67403188原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。