• 解决办法: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 命令进行远程连接数据库

  • 相关阅读:
    linux-磁盘管理
    【译】SQLAlchemy文档:SQLAlchemy 统一教程
    Linux常见指令及热键
    定义一个Date类,创建两个对象存放两个日期,求两个日期的间隔(单位:天)
    Linux 命令(208)—— ssh-keygen 命令
    PADS出GERBER时 焊盘丢失、焊盘变形问题
    操作系统学习笔记4 | CPU管理 && 多进程图像
    「Verilog学习笔记」用优先编码器①实现键盘编码电路
    还在为数据库事务一致性检测而苦恼?让Elle帮帮你,以TDSQL为例我们测测 | DB·洞见#7
    Navisworks二次开发——工具附加模块添加
  • 原文地址:https://blog.csdn.net/m0_67403188/article/details/126608349