问题描述:
拿到以前的一台旧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
命令进行远程连接数据库