到底卸载MySQL

by admin on 2019年9月24日

彻底卸载Yum安装的MySQL数据库

  • 在我第二章MySQL数据库基于Centos7.3-部署过程中,因为以前安装过其它的版本所以没有卸载干净影响后期安装

如果你的电脑之前装过MySQL,卸载后想再重新安装MySQL的时候可能就会因为前一版本卸载不彻底而出现错误。最常见的就是安装好后设置参数的最后一步验证时,会在Execute
configurattion步骤中的第三项Start Service出错,错误提示为“Could not start
the service MySQL”,或者是第四项apply security setting时出错。
彻底卸载Mysql的方法:
首先,在服务(开始——>控制面板——>管理工具——>服务)里停掉MySQL的服务。打开控制面板-添加删除程序,找到MySQL,卸载。然后,删除注册表:
开始-运行里面输入regedit,打开注册表,
找到关于MYSQL的项把他们都删除:
图片 1
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL
我的电脑是win7系统,删除注册表的时候第三项没有找到,在网上搜了一下,在C:\ProgramData\的文件夹里面有MySql文件夹,找到并删除它,如果没有找到,有可能这个文件被隐藏了,设置让隐藏文件可见,找到MySql,将它删除。
接着,就安装成功了。
图片 2

彻底卸载MySQL

MySQL的分区表功能自5.1才开始支持,Centos的MySQL为5.0的,需要将其卸载后安装5.1

“`

一、卸载Centos7自带的Maridb数据库

卸载maridb:
[root@host-131 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[root@host-131 ~]# yum -y remove mari*
[root@host-131 ~]# rm -rf /var/lib/mysql/*
[root@host-131 ~]# rpm -qa | grep mariadb
[root@host-131 ~]#

 

下面是一些操作、错误和解决方案的记录:

sudo apt-get autoremove –purge mysql-server-5.5

二、彻底卸载MySQL数据库:

基于MySQL数据库基于Centos7.3-部署后,卸载mysql数据库:
[root@host-131 ~]# yum remove mysql-community-serve

使用remove发现还有部分残余文件:
这就是默认的卸载,其实还有很多 MySQL 依赖的软件包都并没有移除,
我们可以使用 rpm 命令的方式查看有哪些相关的软件名

[root@host-131 ~]# rpm -qa |grep mysql
mysql-community-libs-5.7.22-1.el7.x86_64
mysql-community-server-5.7.22-1.el7.x86_64
mysql80-community-release-el7-1.noarch
mysql-community-client-5.7.22-1.el7.x86_64
mysql-community-common-5.7.22-1.el7.x86_64
[root@host-131 ~]# yum remove mysql-*    //挨个卸载

卸载并不会自动删除配置文件等,所以我们还需要手动来删除
[root@host-131 ~]# find / -name mysql
/etc/logrotate.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/mysql
[root@host-131 ~]# 
[root@host-131 ~]# rm -rf /var/lib/mysql     //将上边的文件全部删除

通过这个方法可以完全卸载MySQL

 

 

1、控制面板里的增加删除程序内进行删除 

 

sudo apt-get remove mysql-server

 

1.关闭目前的mysql服务

sudo apt-get autoremove mysql-server

  2、删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除 

    /etc/init.d/mysqld stop

sudo apt-get remove mysql-common (非常重要)

 

2.确保已正常关闭  www.2cto.com  

清理残留数据

  3、开始->运行-> regedit 看看注册表里这几个地方删除没有 

   ps -ef | grep mysql

dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

 

   如果没关闭,kill之

“`

 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
目录删除 

  1. 查询mysql的安装情况:

 

    rpm -qa | grep mysql

  HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
目录删除 

    将列出来的删除。

  www.2cto.com  

    rpm -e mysql-server.x86_64

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
目录删除(我卸载的时候没有找到,略过后仍达到完全卸载的目的。) 

    如果报有多个,则用项 –allmatches将其全部删掉

 

  1. 下载mysql5.5的rpm版

  4、这一条是很关键的 

    rpm -ivh mysql-server和client

  C:\ProgramData\MySQL 

  1. 启动新的mysql

 

    /etc/init.d/mysql start

  这里还有MySQL的文件,必须要删除 

  1. 尝试访问

 

   mysql -uroot -p

  注意:Application Data这个文件夹是隐藏的,需要打开个文件夹选择菜单栏
工具→文件夹选项→查看→隐藏文件和文件夹 一项选上 显示所有文件和文件夹
确定 

  我的 默认无密码,可正常访问

 

7.但是之前的php应用没法用了,报cannot load mysql extension .please check
your php configuration

  以上4步完成,重启 OK!再次安装吧 

  原因是刚才把php-mysql删了,其实是不应该删的。

1、控制面板里的增加删除程序内进行删除
2、删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除
3、开始…

8.重新安装php-mysql,我的系统为centos5.3,php为5.1.依赖的php-mysql也为5.1.yum安装php-mysql报:

libmysqlclient.so.15()(64bit) is needed 

libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed 

php-common is needed  www.2cto.com  

libmysqlclient.so是包含在mysql-share的,但直接安装5.5版的mysql-share是不行的,因为该版本的没有libmysqlclient.so.15,都高于15.

需要到)

然后安装,但因为我支持装了5.5的mysql-share,会报冲突,即rpm安装时无法覆盖之前的,使用项–force强制覆盖即可。

rpm -ivh php-common-VERSION php-mysql-VERSION安装成功,解决该问题

 

9.在为其他节点远程访问该服务器的数据库设置时出错,Access denied for user
‘root’@’localhost’。解决方案见:

MySQL节点执行GRANT命令为SPIDER服务器进行授权时,发生了如下错误: 

mysql> GRANT ALL ON *.* TO ‘spider’@’spiderdb’ IDENTIFIED BY
‘spider’; 

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using
password: NO)

 

可是我就是使用root用户登录的,root的password也是空的,怎么可能会发生这个错误呢。 

 

网上有相同的错误,是登录不进MySQL的解决办法。如果是忘记了密码,可以用下边的方法: 

# /etc/init.d/mysql stop 

# mysqld_safe -u mysql –skip-grant-tables –skip-networking & 

# mysql -u mysql 

mysql> UPDATE user SET Password=PASSWORD(‘newpassword’)where
USER=’root’; 

mysql> FLUSH PRIVILEGES; 

mysql> exit   www.2cto.com  

# /etc/init.d/mysqld restart 

# mysql -uroot -pnewpassword 

 

可是这个方法却解决不了我的问题。 

 

网上还有一种办法,删除user.user中值为NULL的(delete from user where user
is NULL),或更新NULL为test(update user set user=‘test‘ where user is
NULL)。但是也不好使。 

 

偶然发现对于单个DB的授权是没有问题的,难道是root没有特定DB的权限?写了个script对于每个database执行”GRANT
ALL ON $DATABASE.* TO ‘root’@’localhost’ IDENTIFIED BY ‘cps-pt’ with
grant option;”,居然是information_schema的时候出错了。 

 

前两天同志执行dump/restore的时候,DB曾经死掉过,难道information_schema被破坏掉了。 

这好像是MySQL的一个restore时的bug。 

    

 

作者 kangquan2008

下面是一些操作、错误和解决方案的记录: 1.关闭目前的mys…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图