在linux卸载mysql数据库_Linux下卸载MySQL数据库-程序员宅基地

技术标签: 在linux卸载mysql数据库  

如何在Linux下卸载MySQL数据库呢? 下面总结、整理了一下Linux平台下卸载MySQL的方法。 MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries)、RPM包安装、源码安装。对应不同的安装方式,卸载的步骤有些不同。文章中如有不足或不对的地方,敬请指出或补充!

RPM包安装方式的MySQL卸载

1、检查是否安装了MySQL组件。

[root@DB-Server init.d]# rpm -qa | grep -i mysql

MySQL-devel-5.6.23-1.linux_glibc2.5

MySQL-client-5.6.23-1.linux_glibc2.5

MySQL-server-5.6.23-1.linux_glibc2.5

310d2ae8224c3ee622a7a01408af3cef.png

如上所示,说明安装了MySQL 5.6.23这个版本的client、server、devel三个组件。

2、卸载前关闭MySQL服务

2.1 方法1

[root@DB-Server init.d]# service mysql status

MySQL running (25673)[ OK ]

[root@DB-Server init.d]# service mysql stop

Shutting down MySQL..[ OK ]

[root@DB-Server init.d]# service mysql status

MySQL is not running[FAILED]

a0341e9f9205ae31e59428f15275f6b3.png

2.2 方法2

[root@DB-Server init.d]# ./mysql status

MySQL running (26215)[ OK ]

[root@DB-Server init.d]# ./mysql stop

Shutting down MySQL..[ OK ]

[root@DB-Server init.d]# ./mysql status

MySQL is not running[FAILED]

[root@DB-Server init.d]#

6641d3d2b7764845ebd1e26cc0f32041.png

[root@DB-Server init.d]# chkconfig --list | grep -i mysql

mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@DB-Server init.d]#

3. 收集MySQL对应的文件夹信息

[root@DB-Server init.d]# whereis mysql

mysql: /usr/bin/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

最好实用find命令查看MySQL数据库相关的文件,方便后面彻底删除MySQL。

[root@DB-Server init.d]# find / -name mysql

/etc/rc.d/init.d/mysql

/etc/logrotate.d/mysql

/var/lock/subsys/mysql

/var/lib/mysql

/var/lib/mysql/mysql

/usr/include/mysql

/usr/include/mysql/mysql

/usr/bin/mysql

/usr/share/mysql

/usr/lib64/mysql

a284d96ebf1b260657e64502e58adad7.png

4、卸载删除MySQL各类组件

[root@DB-Server init.d]#

[root@DB-Server init.d]# rpm -ev MySQL-devel-5.6.23-1.linux_glibc2.5

[root@DB-Server init.d]# rpm -ev MySQL-server-5.6.23-1.linux_glibc2.5

You have new mail in /var/spool/mail/root

[root@DB-Server init.d]# rpm -ev MySQL-client-5.6.23-1.linux_glibc2.5

[root@DB-Server init.d]#

2369823fe8915ca8f28933beab5ca573.png

5、删除MySQL对应的文件夹

检查各个MySQL文件夹是否清理删除干净。

[root@DB-Server init.d]# whereis mysql

mysql:

[root@DB-Server init.d]# find / -name mysql

/var/lib/mysql

/var/lib/mysql/mysql

/usr/lib64/mysql

[root@DB-Server init.d]# rm -rf /var/lib/mysql

[root@DB-Server init.d]# rm -rf /var/lib/mysql/mysql

[root@DB-Server init.d]# rm -rf /usr/lib64/mysql

[root@DB-Server init.d]#

6、删除mysql用户及用户组

如果有必要,删除mysql用户以及mysql用户组。

[root@DB-Server ~]# more /etc/passwd | grep mysql

mysql:x:101:501::/home/mysql:/bin/bash

[root@DB-Server ~]# more /etc/shadow | grep mysql

mysql:!!:16496::::::

[root@DB-Server ~]# more /etc/group | grep mysql

mysql:x:501:

[root@DB-Server ~]# userdel mysql

[root@DB-Server ~]# groupdel mysql

groupdel: group mysql does not exist

[root@DB-Server ~]#

7、确认MySQL是否卸载删除

[root@DB-Server init.d]# rpm -qa | grep -i mysql

二进制包/源码安装方式的MySQL卸载

如果是采用二进制包安装的MySQL,那么你用下面命令是找不到任何MySQL组件的。所以如果你不知道MySQL的安装方式,千万不要用下面命令来判别是否安装了MySQL

[root@DB-Server init.d]# rpm -qa | grep -i mysql

1、检查MySQL服务并关闭服务进程。

首先通过进程查看是否有MySQL的服务的状态, 如下所示,MySQL服务是启动的。

[root@DB-Server init.d]# ps -ef | grep mysql

root 4752 4302 0 22:55 pts/1 00:00:00 more /etc/init.d/mysql.server

root 7176 1 0 23:23 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/DB-Server.localdomain.pid

mysql 7269 7176 15 23:23 pts/1 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/DB-Server.localdomain.err --pid-file=/usr/local/mysql/data/DB-Server.localdomain.pid

root 7321 4302 0 23:23 pts/1 00:00:00 grep mysql

[root@DB-Server init.d]# /etc/init.d/mysql.server status

MySQL running (7269)[ OK ]

[root@DB-Server init.d]# /etc/init.d/mysql.server stop

Shutting down MySQL..[ OK ]

[root@DB-Server init.d]# /etc/init.d/mysql.server status

MySQL is not running[FAILED]

[root@DB-Server init.d]#

bf60f7d7f9651b42b13ebd322f6fbf4c.png

2、查找MySQL的安装目录并彻底删除

[root@DB-Server init.d]# whereis mysql

mysql: /usr/local/mysql

[root@DB-Server init.d]# find / -name mysql

/var/spool/mail/mysql

/usr/local/mysql-5.7.5-m15-linux-glibc2.5-x86_64/include/mysql

/usr/local/mysql-5.7.5-m15-linux-glibc2.5-x86_64/bin/mysql

/usr/local/mysql-5.7.5-m15-linux-glibc2.5-x86_64/data/mysql

/usr/local/mysql

e69997a815806fa0097c28c80f1a0ae9.png

[root@DB-Server init.d]# rm -rf /usr/local/mysql-5.7.5-m15-linux-glibc2.5-x86_64/

[root@DB-Server init.d]# rm -rf /usr/local/

[root@DB-Server init.d]# rm -rf /var/spool/mail/mysql

[root@DB-Server init.d]#

3、删除一些配置文件配置文件一般有/etc/my.cnf 或/etc/init.d/mysql.server,视具体安装配置情况而定。

4、删除MySQL用户以及用户组

[root@DB-Server ~]# id mysql

uid=101(mysql) gid=501(mysql) groups=501(mysql) context=root:system_r:unconfined_t:SystemLow-SystemHigh

[root@DB-Server ~]# userdel mysql

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34620780/article/details/113123055

智能推荐

漏洞扫描软件AWVS的介绍和使用_awvs csdn-程序员宅基地

文章浏览阅读740次,点赞21次,收藏20次。Acunetix Web Vulnerability Scanner(AWVS)可以扫描任何通过Web浏览器访问和遵循HTTP/HTTPS规则的Web站点。适用于任何中小型和大型企业的内联网、外延网和面向客户、雇员、厂商和其它人员的Web网站。AWVS可以通过检查SQL注入攻击漏洞、XSS跨站脚本攻击漏洞等漏洞来审核Web应用程序的安全性。主菜单功能介绍:主菜单共有5个模块,分别为Dashboard、Targets、Vulnerabilities、Scans和Reports。_awvs csdn

毕设分享 基于STM32的智能水产养殖系统_毕业设计水产养殖-程序员宅基地

文章浏览阅读238次。这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是毕设分享 基于STM32的智能水产养殖系统(源码+硬件+论文)学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:4分包含内容。_毕业设计水产养殖

【资料分享】基于单片机大气压监测报警系统电路方案设计、基于飞思卡尔的无人坚守点滴监控自动控制系统设计(程序,原理图,pcb,文档)_基于单片机和无线通信的压强压力报警系统-程序员宅基地

文章浏览阅读1.2k次,点赞21次,收藏21次。如果我们说“10元给我汽车小零花钱妈妈”,或者“妈妈给我10亿人民币,我要买F-22”,妈妈就会觉得奇怪,听不懂我们的意思,或者理解错误,责备我们。汇编语言是计算机发展初期的一门语言,它的执行效率非常高,但是开发效率非常低,所以在常见的应用程序开发中不会使用汇编语言,只有在对效率和实时性要求极高的关键模块才会考虑汇编语言,例如操作系统内核、驱动、仪器仪表、工业控制等。我们说的是汉语,是“中国语言”,只要把我们的需求告诉父母,父母就会满足,我们用“中国语言”来控制父母,让父母做我们喜欢的事情。_基于单片机和无线通信的压强压力报警系统

Python里的全局变量、局部变量、类的self.*-程序员宅基地

文章浏览阅读853次,点赞20次,收藏21次。全局变量没有在任何函数内部定义,并且具有全局范围的变量;局部变量的定义:在函数内部定义的变量,范围仅限于该函数;是在一个函数内部声明一个全局变量,以便在函数内部对全局变量进行修改,这个全局变量本身已经定义过了,而不是我想当然认为的定义了一个全新的全局变量!️如果没有将其声明为全局变量,则在函数内部更改或创建的任何变量都是局部变量。当全局变量和局部变量的命名一样时,在一个函数内部还是会使用自己内部的局部变量;

国内可访问GPG Keyserver列表-程序员宅基地

文章浏览阅读1.7w次,点赞3次,收藏5次。apt-get update 或者aptitude update出现以下错误:The following signatures couldn't be verified because the public key is not available: : NO_PUBKEY B5B7720097BB3B58解决方法:1,从任何一个key server获得缺失的公钥B5B7720_keyserver

51-矩阵键盘和矩阵键盘密码锁_矩阵键盘密码锁如何不可见-程序员宅基地

文章浏览阅读907次,点赞3次,收藏4次。矩阵键盘和矩阵键盘密码锁_矩阵键盘密码锁如何不可见

随便推点

网站流量地域统计里面有“APNIC”这个词,指什么意思呢?_apnic是什么意思-程序员宅基地

文章浏览阅读1.1k次。关于APNIC (Asia-Pacific Network Information Centre)是现在在世界中操作的五个地区的英特网登记处之一,分配B类IP地址的国际组织。它提供全球性的支持互联网操作的分派和注册服务。这是成员包括网络服务提供商、全国互联网登记, 和相似的组织的一个非营利, 基于会员资格的组织。APNIC 就是"亚太地区互联网信息中心",负责分配亚洲太平洋区域的网站IP地址,包含_apnic是什么意思

EOJ1147-程序员宅基地

文章浏览阅读87次。进制转换Time Limit:1000MS Memory Limit:30000KBTotal Submit:2041 Accepted:765Description 输入一个十进制数N,将它转换成R进制数输出。Input 输入一个正整数T。表示测试数据的组数。每个测试实例包含两个整数N(32位整数)和R(2Output 为每个测试实

使用Autolayout实现UITableView的Cell动态布局和高度动态改变_ios cell布局完成会调用什么方法?-程序员宅基地

文章浏览阅读604次。http://blog.163.com/china_uv/blog/static/1171372672014111681232340/本文翻译自:stackoverflow有人在stackoverflow上问了一个问题:如何在UITableViewCell中使用Autolayout来实现Cell的内容和子视图自动计算行高,并且能够保持平滑滚动的?_ios cell布局完成会调用什么方法?

《剑指 Offer》专项突破版 - 面试题 88 : 动态规划的基础知识(C++ 实现)-程序员宅基地

文章浏览阅读1k次,点赞29次,收藏16次。面试题 88 : 爬楼梯的最少成本(C++ 实现)

argmin是什么意思-程序员宅基地

文章浏览阅读9.3k次,点赞13次,收藏11次。举个简单的例子,考虑一个函数 f(x),其中 x 是实数。如果 f(x) 在 x = 3 时取得最小值,那么。经常用于描述需要找到某个函数的最小值时,所需的自变量的值。是一个数学术语,用于表示一个函数在其定义域中取得最小值的参数值(自变量的值),而不是最小值本身。表示函数的自变量(通常是一个实数或向量),当输入到该函数后,使函数取得最小值的自变量的值。的名称来源于 “argument of the minimum”,意思是最小值的参数。这表示当 x = 3 时,函数 f(x) 的值最小。_argmin

ssm/php/node/python基于人脸识别的学生上课考勤与监控系统_人脸识别考勤系统上课-程序员宅基地

文章浏览阅读919次,点赞21次,收藏12次。该系统能够有效提高考勤的准确性和效率,减少人为错误和作弊行为,确保考勤数据的真实性和可靠性。这一技术的应用也体现了教育信息化的发展趋势,有助于培养学生的信息素养,为他们适应未来社会的发展奠定基础。在教育领域,传统的考勤方式如点名、签到等不仅耗时耗力,而且容易出现代签、漏签等问题,影响了考勤的准确性和效率。这种系统可以无缝集成到现有的校园网络中,通过实时比对数据库中存储的学生面部信息,快速准确地完成考勤工作,大大减轻了教师的管理负担,提高了教学管理的效率和质量。文末可领取本课题的JAVA源码参考。_人脸识别考勤系统上课