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


    问题描述:
    拿到以前的一台旧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

    1、执行whereis mysql输出(如果没有任何输出,请直接跳转到解决办法2):

    mysql: /usr/lib64/mysql
    
    • 1

    2、执行whereis mariadb输出:

    mariadb: /usr/local/mariadb
    
    • 1

    3、执行service mysql statussystemctl 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..
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4、执行which mysql输出:

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

    原因分析:
    一顿输出操作后,可以确定本机安装了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
    
    • 1

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

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

    再次执行mysql -u xxx -p *** 可以正常登录。

    解决办法2:

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

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

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

    #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
    
    • 1

    在这里插入图片描述step 3:安装成功后即可使用 mysql -h 10.10.0.1 -u root -p 命令进行远程连接数据库

  • 相关阅读:
    [网络安全] 域
    控制台程序
    记:谷歌开发者大会2022——共码未来
    2022牛客多校10 I-Yet Another FFT Problem?(鸽巢原理)
    武汉工程大学计算机考研资料汇总
    vue中关于表单的常用学习
    TikTok大数据解密:社交媒体的秘密洞察
    图论16-拓扑排序
    医院住院管理系统(Java+Web+JSP+MySQL)
    力扣第 302 场周赛复盘
  • 原文地址:https://blog.csdn.net/m0_67403188/article/details/126608349