背景:
部署Hive时,遇到了无法访问数据库的问题;此时Linux中的环境是,已安装MySQL-8.0.35的版本,JDK8和Hadoop-3.3.4版本;
然后开始上传Hive-3.1.3版本的的安装包和mysql-connector-java-8.0.25版本的驱动(因为Hive要操作数据库,所以需要驱动来连接MySQL数据库)。
按照部署Hive的相关操作走下来之后,到最后初始化Hive的元数据库时,报错:原驱动连接已被弃用;无法访问连接数据库等错误。
经过一系列的排错修改之后,最终只剩下了无法访问连接数据库的这一个错误;最后这个错误实在解决不了,于是推断是MySQL版本、MySQL驱动和Hive的版本不兼容造成的。
最终决定:Hive的版本不变,将MySQL-8.0.35的版本卸载,重新安装一个MySQL-5.7的版本;于是驱动也要由原来的8.0.25的版本,换成与MySQL-5.7对应兼容的驱动mysql-connector-java-5.1.34的版本。
下面进行在Linux下,卸载MySQL的操作:
1、检查服务器是否已经安装了MySQL:
rpm -qa | grep -i mysql
或者
rpm -qa | grep mysql
结果大概如下所示(每个人的展示结果,可能会有不同):
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.51-2.el7.x86_64
mysql-community-client-5.6.51-2.el7.x86_64
mysql-community-server-5.6.51-2.el7.x86_64
mysql-community-common-5.6.51-2.el7.x86_64
2、查看MySQL是否已经启动
systemctl status mysqld
注意:一定要先关闭MySQL服务,才能完成卸载。
systemctl stop mysqld
3、查找含有MySQL的目录:
find / -name mysql
结果大概如下所示(每个人的展示结果,可能会有不同):
/var/lib/mysql
/var/lib/mysql/mysql
/usr/local/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/bin/mysql
/etc/logrotate.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
4、删除含有MySQL的目录,依次删除目录(根据自己查找出来的目录进行依次删除):
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/local/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/bin/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
注意:上面执行完后 /etc/my.cnf 文件不会删除掉,需要手动单独删除。
rm -rf /etc/my.cnf
5、查找MySQL安装的组件服务:
rpm -qa|grep -i mysql
结果大概如下所示(每个人的展示结果,可能会有不同):
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.51-2.el7.x86_64
mysql-community-client-5.6.51-2.el7.x86_64
mysql-community-server-5.6.51-2.el7.x86_64
mysql-community-common-5.6.51-2.el7.x86_64
6、卸载并删除查找出来的组件服务,依次删除目录(根据自己查找出来的目录进行依次删除):
rpm -ev mysql-community-release-el7-5.noarch --nodeps
rpm -ev mysql-community-server-5.6.51-2.el7.x86_64 --nodeps
rpm -ev mysql-community-client-5.6.51-2.el7.x86_64 --nodeps
rpm -ev mysql-community-libs-5.6.51-2.el7.x86_64 --nodeps
rpm -ev mysql-community-common-5.6.51-2.el7.x86_64 --nodeps
7、卸载完成后检查是否卸载成功:
输入下面这行命令,没有输出结果即可!
rpm -qa | grep -i mysql
输入下面这行命令,输出结果为:Failed to start mysql.service: Unit not found.即可!
systemctl start mysql
到此,MySQL已经成功卸载!!!