如何完全卸载MySQL?


50

相关问题的答案忘记了:

  • 删除MySQL数据库
  • 删除mysql用户
  • 删除登录 /var/log

如何完全卸载MySQL?

Answers:


112

另一个答案的基础上,打开一个终端(按Ctrl+ Alt+ T)并运行以下命令:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb
exit

如果要删除使用mysql客户端时所做的日志:

rm ~/.mysql_history

如果要删除系统上所有用户使用mysql客户端时所做的日志(其他用户对此可能不满意):

awk -F : '{ print($6 "/.mysql_history"); }' /etc/passwd | xargs -r -d '\n' -- sudo rm -f --

或所有日志,包括现有用户主目录之外的日志:

sudo find / -name .mysql_history -delete

18
您可能还需要dpkg -l | grep mysql列出所有已安装的mysql软件包,然后例如列出sudo apt-get purge mysql-common每个条目
xxjjnn

7
如果你以后重新安装mysql,你可能需要运行mkdir /etc/apparmor.d/abstractions/mysqlmkdir /etc/mysql/conf.d/试。
kiltek '17

18

我找到了一些帮助,但并没有删除所有内容。我在mysql之前和之后添加了一个星号,如下所示:

sudo apt-get remove --purge *mysql\*
sudo apt-get autoremove
sudo apt-get autoclean

2
您是否要回答这个问题?
George Udosen

2
有史以来最好的答案:)
RicardoE

1
sudo rm -rf /var/lib/mysql如果不这样做,我也会重新配置服务器时遇到麻烦(使用geerlingguy的ansible-role-mysql)。
TryHarder

它还会删除php mysqli扩展名
Jaber Al Nahian

注意:这可能会删除其他链接到MySQL的其他软件包,请仔细阅读将要删除的内容。
Nadjib Mami

1

对我有用的另一种方法是使用Synamptic Package Manager。在左侧窗格上显示:全部,已安装等。没有未安装(残余配置)(或类似措词)的条目。在下面找到了清除所有MySQL安装文件的选项。这适用于MySQL 5.7。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.