如何在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

 

如上所示,说明安装了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]

 

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]# 

[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

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]#

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]# 

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

 

[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

 

 

参考资料

http://blog.itblood.com/completely-uninstall-the-mysql-under-linux-graphic-tutorials.html

Linux平台卸载MySQL总结的更多相关文章

  1. 转 Linux平台卸载MySQL总结

    如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).R ...

  2. Linux平台卸载MySQL总结【转】

    最近用到了mysql主从,顺手看到了这篇文章,拿出来分享一下. 转自:http://www.cnblogs.com/kerrycode/p/4364465.html 潇湘隐者 RPM包安装方式的MyS ...

  3. linux下卸载mysql(rpm)

    linux下卸载mysql 查看是否安装了mysql的组件 rpm –qa |grep –I mysql 卸载前关闭mysql服务 service mysql status service mysql ...

  4. linux安装卸载MySQL以及密码设置+Hive测试

    linux系统卸载MYSQL 1,先通过yum方式卸载mysql及相关组件 命令:yum remove mysql* 2.通过命令:rpm -qa|grep -i mysql 查找系统的有关于mysq ...

  5. Linux 下卸载MySQL 5

    对于在Linux下通过rpm方式的mysql,我们能够通过移除这些rpm包以及删除项目的文件夹来达到卸载的目的.本文演示了在SUSE Linux 10下下载MySQL 5.5.37.详细见下文. 1. ...

  6. linux 完全卸载mysql数据库

    a)查看系统中是否以rpm包安装的mysql [root@linux ~]# rpm -qa | grep -i mysql MySQL-server-5.1.49-1.glibc23 MySQL-c ...

  7. linux安装/卸载mysql

    其实安装mysql差不多有10次了吧, 但是每次都有坑,各种百度,太麻烦了,所以这次把坑给记录下来,下次直接用. 1. 去官网下载mysql.这里可以使用wget下载.先去官方网站,找到mysql5. ...

  8. linux下卸载mysql

    卸载mysql rpm -qa|grep -i mysql rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0 卸载后/var/lib/mysql中 ...

  9. 在linux 中卸载Mysql

    一.通用的mysql卸载方式 1.查看系统中是否已经安装了mysql 命令:rpm -qa|grep -i mysql如果有显示msql的安装列表,代表已经安装了. 2.停止mysql服务.删除之前安 ...

随机推荐

  1. 实验记录:Oracle redo logfile的resize过程

    实验记录:Oracle redo logfile的resize过程. 实验环境:RHEL 6.4 + Oracle 11.2.0.3 单实例 文件系统 实验目的:本实验是修改redo logfile的 ...

  2. 利用AE编写切图工具的一些探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 这周利用晚上在家时间研究了下如何使用AE来开发切图工具.最初 ...

  3. JS实现返回对象的详细信息

    使用JS有时会需要打印出对象的详细信息,下面方法可以实现: function ShowObjProperty(Obj) { var PropertyList=''; var PropertyCount ...

  4. kafka配置参数

    Kafka为broker,producer和consumer提供了很多的配置参数. 了解并理解这些配置参数对于我们使用kafka是非常重要的.本文列出了一些重要的配置参数. 官方的文档 Configu ...

  5. mysql数据库去重复

    参考:http://www.cnblogs.com/duanjie/archive/2011/08/13/2136862.html 说到去重复,感觉逻辑很简单.但动手写起来却并不是那么容易.面试的时候 ...

  6. JavaScript作用域链

    之前写过一篇JavaScript 闭包究竟是什么的文章理解闭包,觉得写得很清晰,可以简单理解闭包产生原因,但看评论都在说了解了作用域链和活动对象才能真正理解闭包,起初不以为然,后来在跟公司同事交流的时 ...

  7. 深入浅出JS的封装与继承

    JS虽然是一个面向对象的语言,但是不是典型的面向对象语言.Java/C++的面向对象是object - class的关系,而JS是object - object的关系,中间通过原型prototype连 ...

  8. WCF入门教程(二)如何创建WCF服务

    WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...

  9. 黑社会团伙(gangs)

    题目描述 众所周知,香港的黑社会组织猖獗,警方希望能摸清他们的内部构成情况,特派小生前往调查.经过长期的卧底,小生初步获得了一些资料:整个组织有 n 个人,任何两个认识的人不是朋友就是敌人. 而且满足 ...

  10. JSTL中的fmt标签小例子

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...