Linux下卸载MySQL数据库

 更新时间:2017年06月02日 11:15:51   作者:潇湘隐者  
如何在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

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

参考资料:Linux下彻底卸载mysql详解

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

相关文章

  • MySQL连接时出现2003错误的实现

    MySQL连接时出现2003错误的实现

    本文主要介绍了MySQL连接时出现2003错误的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • MySQL thread_stack连接线程的优化

    MySQL thread_stack连接线程的优化

    当有新的连接请求时,MySQL首先会检查Thread Cache中是否存在空闲连接线程,如果存在则取出来直接使用,如果没有空闲连接线程,才创建新的连接线程
    2017-04-04
  • DQL数据查询语句使用示例

    DQL数据查询语句使用示例

    DQL(Data Query Language 数据查询语言):用于查询数据库对象中所包含的数据。DQL语言主要的语句:SELECT语句。DQL语言是数据库语言中最核心、最重要的语句,也是使用频率最高的语句
    2022-12-12
  • 解决Linux下Tomcat向MySQL插入数据中文乱码问题

    解决Linux下Tomcat向MySQL插入数据中文乱码问题

    本文给大家介绍的是如何解决win平台下开发的项目移植到Linux平台后,向MySQL插入数据时中文出现乱码的问题,非常的简单实用,有需要的小伙伴可以参考下
    2018-04-04
  • 关于MYSQL 你需要知道的数据类型和操作数据表

    关于MYSQL 你需要知道的数据类型和操作数据表

    这篇文章主要介绍了关于MYSQL中数据类型的知识和操作数据表的方法,文中讲解非常详细供大家参考学习,感兴趣的朋友可以了解下
    2020-06-06
  • MySQL Replace INTO的使用

    MySQL Replace INTO的使用

    今天DST里面有个插件作者问我关于Replace INTO和INSERT INTO的区别,我和他说晚上上我的blog看吧,那时候还在忙,现在从MYSQL手册里找了点东西,MYSQL手册里说REPLACE INTO说的还是比较详细的.
    2008-04-04
  • MySQL中VARCHAR与CHAR格式数据的区别

    MySQL中VARCHAR与CHAR格式数据的区别

    char是一种固定长度的类型,varchar则是一种可变长度的类型,那么他们具体使用过程中有什么区别吗
    2015-09-09
  • 通过代码实例了解页面置换算法原理

    通过代码实例了解页面置换算法原理

    这篇文章主要介绍了通过代码实例了解页面置换算法原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • MySQL占用内存较大与CPU过高测试与解决办法

    MySQL占用内存较大与CPU过高测试与解决办法

    为了装mysql环境测试,装上后发现启动后MySQL占用内存了很大,达8百多兆。网上搜索了一下,得到高人指点my.ini。再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过多少M还是看得明的
    2018-03-03
  • MySQL如何使用DATE_FORMAT()对查询结果按日、周、月分组统计

    MySQL如何使用DATE_FORMAT()对查询结果按日、周、月分组统计

    这篇文章主要介绍了MySQL如何使用DATE_FORMAT()对查询结果按日、周、月分组统计问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论