CentOS下如何完全卸载MySQL

CentOS下如何完全卸载MySQL,第1张

这里主要解决使用rpm安装的卸载问题,安装方法见:CentOS安装mysql*.rpm提示conflicts with file from package的解决办法

虽然说这里的是使用rpm安装的卸载问题,我觉得使用yum方式安装的如果遇到相同?问题也一样适用。

查看已经安装的服务

rpm –qa|grep -i mysql

-i 作用是不区分大小写

可以看到有两个安装包

MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm

MySQL-client-5.6.19-1.linux_glibc2.5.x86_64.rpm

删除这两个服务(去掉后缀)

rpm –e MySQL-client-5.6.19-1.linux_glibc2.5.x86_64

rpm -e MySQL-server-5.6.19-1.linux_glibc2.5.x86_64

查看残留的目录

Whereis mysql

然后删除mysql目录:

rm –rf /usr/lib64/mysql

删除相关文件:

rm –rf /usr/my.cnf

rm -rf /root/.mysql_sercret

最关键的:

rm -rf /var/lib/mysql

如果这个目录如果不删除,再重新安装之后,密码还是之前的密码,不会重新初始化!

网上查了很久都没有文章提到这个,最后还是自己摸索找出来的。

卸载完成!

如果有帮助求采纳

想知道你的mysql装在哪里吗?CentOS7一般是装在/var/lib/mysql中的

在完成迁移之前,先用下面的指令来停止mysqld服务

service mysqld stop,或者直接点sudo systemctl stop mysqld

然后用df-h指令看服务器上剩余空间是多少,假设我们新挂了一块500G的硬盘到/data上

那么请把mysql整个文件夹拷贝到/data中,像下面这样:

sudo cp -rf /var/lib/mysql /data/mysql,拷完以后原来的mysql文件夹就可以删除了

然后再修改/etc/my.cnf,这个也是需要su的:

sudo vi /etc/my.cnf

里面有一个字段叫[mysqld],将datadir和socket修改成这样:

datadir=/data/mysql

socket=/data/mysql/mysql.sock

接下来,有的人说要修改/etc/init.d/mysqld,但我的服务器不需要,直接通过

service mysqld start就可以启动SQL服务了,远程也可以连接上,但是:

当你使用终端mysql -u root -p的时候,就会报下面这个错:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

这个时候,你有两种解决办法,一种是造一个软连接

ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock,原因是你已经删掉之前的mysql目录了

另外一种办法,是在/etc/my.cnf下面新建一个新字段:

[mysql]

socket=/data/mysql/mysql.sock

第一种方法不需要重启mysql server,第二种方法需要重启mysql server,

然后,你就可以成功地从终端里进入mysql了

敲黑板,不要在[mysql]下面自做主张地写上datadir=/data/mysql,这样会导致本地命令行登录时报错:Unknown Variable: datadir=/data/mysql


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9260802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存