几天前,我在一台机器上安装了 mysql-server,然后发现它将数据文件放在了几乎没有足够空间的分区上。因此(因为 DB 中没有我关心的内容)我关闭了它,符号链接到另一个分区/var/lib/mysql
上的空白目录,然后尝试重新启动它。
简而言之,MySQL 现在无法启动。Upstart 似乎认为它正在运行(即start mysql
没有挂起),但没有 mysqld 进程。我尝试重新安装(apt-get purge mysql-server; apt-get insatll mysql-server
),但它似乎保留了一些东西(首先,它没有像第一次那样要求我设置 root 密码),它仍然无法启动。
如何进行全新安装,以完全忽略上次安装所做的一切?
哦,有没有办法在 apt-get 启动 mysqld 之前调整配置文件?
答案1
您可以使用以下命令强制删除所有文件(包括配置文件):
$ sudo apt-get purge --force-yes mysql-server
然后,照常安装。
$ sudo apt-get install mysql-server
答案2
我敢打赌你运行的是 Ubuntu,并且安装了 AppArmor。上周晚些时候,我从一台运行 8.04 的机器迁移到一台运行 10.04 的新主机时就遇到了这个问题。
我选择禁用 AppArmor,但只是作为测试,尝试类似操作:/etc/init.d/apparmor stop
然后尝试再次启动 MySQL。
您还可以通过编辑来重新配置 AppArmor 将 MySQL 限制到哪些目录/etc/apparmor.d/usr.sbin.mysqld
。