zoukankan      html  css  js  c++  java
  • Linux下彻底卸载mysql详解

    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

    clip_image001

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

    clip_image002

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

    clip_image003

    [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

    clip_image004

    4: 卸载删除MySQL各类组件

    停止mysql服务、删除之前安装的mysql

    删除命令:rpm -e –nodeps 包名

    rpm -ev MySQL-client-5.5.25a-1.rhel5

    如果提示依赖包错误,则使用以下命令尝试

    rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps

    如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1

    则用以下命令尝试:

    rpm -e --noscripts MySQL-client-5.5.25a-1.rhel5

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

    clip_image005

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

    clip_image006

    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

    clip_image007

    [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

    引用原文链接https://www.cnblogs.com/kerrycode/p/4364465.html

    写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!

    
    

    如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

  • 相关阅读:
    Swagger3.X和2.X—从入门到实战
    Java工具—Lombok
    使用Java伪造测试数据
    URL
    Java 16个超级实用的工具类
    Redis一篇从入门到实战
    MongoDB一篇从入门到实战
    admin后台管理
    auth模块
    day12_01闭包函数
  • 原文地址:https://www.cnblogs.com/summary-2017/p/10092501.html
Copyright © 2011-2022 走看看