MYSQL系列(51):Ubuntu18.04卸载mysql

背景:当安装mysql— sudo apt-get install mysql-server时,出现错误

Setting up mysql-server-5.7 (5.7.25-0ubuntu0.18.04.2) ...
update-alternatives: error: alternative path /etc/mysql/mysql.cnf doesn't exist
dpkg: error processing package mysql-server-5.7 (--configure):
 installed mysql-server-5.7 package post-installation script subprocess returned error exit status 2
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决:

$ sudo apt-get autoclean
$ sudo apt-get update
$ sudo apt-get upgrade
 update-initramfs: Generating /boot/initrd.img-4.15.0-45-generic
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ cd /var/lib/dpkg
$ sudo mv info info.bak
$ sudo mkdir info
$ sudo apt-get upgrade 
The following packages have been kept back:
  libcogl20 libgl1-mesa-dri libwayland-egl1-mesa libxatracker2 m
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up mysql-server-5.7 (5.7.25-0ubuntu0.18.04.2) ...
Setting up mysql-server (5.7.25-0ubuntu0.18.04.2) ...
W: APT had planned for dpkg to do more than it reported back (3 vs 7).
   Affected packages: mysql-server-5.7:amd64

备注:
apt-get remove 会删除软件包而保留软件的配置文件
apt-get purge 会同时清除软件包和软件的配置文件
所以当你想彻底地删除软件包的时候,用 apt-get purge 吧
备注:

卸载mysql

$ ps -ef|grep mysqld
root      7947   940  0 09:27 ?        00:00:00 sudo bin/mysqld_safe --user=mysql
root      7950  7947  0 09:27 ?        00:00:00 /bin/sh bin/mysqld_safe --user=mysql
mysql     8195  7950  0 09:27 ?        00:03:26 /usr/local/mysql-8.0.15/bin/mysqld --basedir=/usr/local/mysql-8.0.15 --datadir=/home/ocena/workspace/mysql/mysql-data --plugin-dir=/usr/local/mysql-8.0.15/lib/plugin --user=mysql --log-error=error.log --pid-file=star.pid --port=3306
ocena    13793 13783  0 15:57 pts/7    00:00:00 grep --color=auto mysqld

$  ps -ef|grep mysqld   -- 一个好的
root       5250   1778  0 04:01 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/home/ocean/workspace/mysql/mysql-data --pid-file=/home/ocean/workspace/mysql/mysql-data/ubuntu.pid
mysql      5486   5250  0 04:01 pts/0    00:00:02 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/ocean/workspace/mysql/mysql-data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=error.log --pid-file=/home/ocean/workspace/mysql/mysql-data/ubuntu.pid --port=3306
ocean      5934   2433  0 04:14 pts/0    00:00:00 grep --color=auto mysqld

$ dpkg --list|grep mysql    -- 查看依赖
$ sudo apt purge mysql-* 
$ dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P  -- 清除残留数据
$ dpkg --list|grep mysql   
$ sudo find / -name mysql   -- 查看含有mysql的服务的路径
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
find: ‘/run/user/1000/gvfs’: Permission denied
/run/lock/subsys/mysql
/snap/core/6405/etc/apparmor.d/abstractions/mysql
/snap/core/6405/usr/share/bash-completion/completions/mysql
/snap/core/6259/etc/apparmor.d/abstractions/mysql
/snap/core/6259/usr/share/bash-completion/completions/mysql
/snap/core/6130/etc/apparmor.d/abstractions/mysql
/snap/core/6130/usr/share/bash-completion/completions/mysql
/usr/share/bash-completion/completions/mysql
/usr/share/mysql
/usr/bin/mysql
/usr/lib/mysql
/usr/local/mysql-test/bin/mysql
/usr/local/mysql-test/include/mysql
/var/log/mysql

备注:

$ sudo find / -name mysql   -- 一个完全新的ubuntu18.04中查找mysql服务
[sudo] password for ocean: 
/etc/apparmor.d/abstractions/mysql
/usr/share/bash-completion/completions/mysql
find: ‘/run/user/1000/gvfs’: Permission denied
/snap/core/5662/etc/apparmor.d/abstractions/mysql
/snap/core/5662/usr/share/bash-completion/completions/mysql

$ sudo find / -name mysql   -- 一个使用mysql脚本安装mysql
[sudo] password for ocean: 
/etc/mysql
/etc/apparmor.d/abstractions/mysql
/usr/local/mysql
/usr/local/mysql-8.0.15/include/mysql
/usr/local/mysql-8.0.15/bin/mysql
/usr/lib/python2.7/dist-packages/mysql
/usr/share/bash-completion/completions/mysql
/usr/bin/mysql
/home/ocean/workspace/mysql
/home/ocean/workspace/mysql/mysql-data/mysql
find: ‘/run/user/1000/gvfs’: Permission denied
/snap/core/5662/etc/apparmor.d/abstractions/mysql
/snap/core/5662/usr/share/bash-completion/completions/mysql
/snap/core/6405/etc/apparmor.d/abstractions/mysql
/snap/core/6405/usr/share/bash-completion/completions/mysql

mysql-data$ ls   -- 一个使用mysql脚本安装mysql的mysql-data
 arguse          ca.pem            ibdata1         mysql                server-cert.pem   undo_001
 auto.cnf        client-cert.pem   ib_logfile0     mysql.ibd            server-key.pem    undo_002
 binlog.000001   client-key.pem    ib_logfile1     performance_schema   slow.log
 binlog.index    error.log         ibtmp1          private_key.pem      sys
 ca-key.pem      ib_buffer_pool   '#innodb_temp'   public_key.pem       ubuntu.pid

有关/snap/core/:
snap是包管理工具,它是Canonical的新包管理工具。Ubuntu软件中心使用的这个快照包管理——我知道这是因为我从来没有使用过快照工具,但是我有13个以上的快照文件夹。我想这就是/snap文件夹存在的原因。
工具名是snapd。因此,当您想要安装或卸载软件包时,应该使用如下命令:

sudo apt autoremove snapd

or

sudo apt autoremove --purge snapd

如果使用apt命令或synaptic包管理器安装软件包,则不需要snapd包。所以你可以移除它。
Ubuntu软件中心将使用“snapd”,这就是我所遇到的。但在删除了snapd之后,软件中心似乎不会使用snapd。
实际发现//snap/core/卸载不掉

参考:https://askubuntu.com/questions/1000177/is-the-snap-core-folder-needed
参考:https://blog.csdn.net/iehadoop/article/details/82961264

猜你喜欢

转载自blog.csdn.net/zhizhengguan/article/details/87862422
今日推荐