在ubuntu下安装mysql很多人都喜欢使用apt-get install 的方式直接安装,但是有的时候又发现有问题想卸载,却总是卸载的不干净。在ubuntu下完全卸载mysql的方法如下:

    

彻底卸载mysql具体方法
1、删除 mysql
sudo apt-get autoremove --purge mysql-server-5.5
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common (非常重要)
2、清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

 这里注意,在最后清理数据的时候会弹出一个对话框,问你是否要清除数据,清除就可以完全卸载了。


    关于如何更改datadir目录的问题:

    ubuntu默认安装mysql的时候,会将datadir设置为/var/lib/mysql下面,但是我们大多数时候都需要指定一个我们准备好的方便查找的目录为数据存储目录,我们可以在my.cnf下面更改datadir这一行,将“=”后边的目录更改成我们自己的目录即可。

    例如:我将datadir改成/data下,则在my.cnf中做如下更改,在[mysqld]段

    

port            = 3306
basedir         = /usr
datadir         = /data/mysql

    更改完成保存退出,可以重启mysql服务了,不知道您的服务器会不会报错,我的反正mysql是起不来了。只要将datadir换回来就能启动。感谢万能的Google帮助,出现这个问题的原因是在ubuntu中存在一个apparmor的服务。这个服务主要作用是主要的作用是设置某个可执行程序的访问控制权限,可以限制程序 读/写某个目录/文件,打开/读/写网络端口等等。他的配置文件在/etc/apparmor.d/中,在这里我们可以看到一个usr.sbin.mysqld的配置文件,打开看一下就明白了。我们的日志路径、pid路径等等都存放在这里,所以我们要改datadir路径,这里也需要做更改,要更改log路径同样也要在这里更改。更改后配置如下:

    

  /logs/mysql/mysql.log rw,
  /logs/mysql/mysql.err.log rw,
  /data/mysql/ r,
  /data/mysql/** rwk,
  /logs/mysql/ r,
  /logs/mysql/* rw,

  这是我更改过的路径。更改完成以后,因为这是一个服务,所以我们需要重启一下这个服务。

    

/etc/init.d/apparmor restart

  ok,这里基本上不会存在问题了,如果还是无法启动你的mysql,那么请使用如下命令

     

mysql_install_db --datadir=/data/mysql

   查看一下是不是有报错信息,根据错误排查一下。

   这里我碰到的问题是datadir目录的权限不够,千万要记得将数据目录的用户和组都设成mysql启动的用户,另外log存放目录也要注意用户权限。