MacPortsでMySQLをアンインストールできない

2016年5月10日

MySQL Question Bank (English Edition)

MySQLが壊れているみたいなのでアンインストールしようとしたら、先に別バージョンのやつを消してくれと言われました。

$ sudo port uninstall mysql56
—> Unable to uninstall mysql56 @5.6.29_0, the following ports depend on it:
—> mysql56-server @5.6.25_0
Error: org.macports.uninstall for port mysql56 returned: Please uninstall the ports that depend on mysql56 first.
Please see the log file for port mysql56 for details:
/opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_mysql56-5.6.29_0_f5baf5ae4732ec7b79fc76e9b7cf78422c623c2010c5ffac4c4ba97ad58e1996-10898/mysql56/main.log
Warning: Failed to execute portfile from registry for mysql56 @5.6.29_0
—> Unable to uninstall mysql56 @5.6.29_0, the following ports depend on it:
—> mysql56-server @5.6.25_0
Error: port uninstall failed: Please uninstall the ports that depend on mysql56 first.

消そうとすると、そんなバージョンはインストールしていないって怒られます。

$ sudo port uninstall mysql56@5.6.25_0
Error: port uninstall failed: Registry error: mysql56 @5.6.25_0 not registered as installed

試しに消したいバージョンのMySQLをインストールすると、何も入らずに終了します。

$ sudo port install mysql56@5.6.25_0
—> Computing dependencies for mysql56
—> Cleaning mysql56
—> Scanning binaries for linking errors
—> No broken files found.

でもアンインストールはできない。-fで強制的にやってもダメです。

$ sudo port uninstall mysql56@5.6.25_0
Error: port uninstall failed: Registry error: mysql56 @5.6.25_0 not registered as installed
$ sudo port -f uninstall mysql56@5.6.25_0
Error: port uninstall failed: Registry error: mysql56 @5.6.25_0 not registered as installed

よくわからないので、強制的にアンインストール。

$ sudo port -f uninstall mysql56@5.6.29_0
—> Unable to uninstall mysql56 @5.6.29_0, the following ports depend on it:
—> mysql56-server @5.6.25_0
Warning: Uninstall forced. Proceeding despite dependencies.
—> Deactivating mysql56 @5.6.29_0
—> Cleaning mysql56
—> Uninstalling mysql56 @5.6.29_0
—> Cleaning mysql56

最後に生き残っているシンボリックリンクを削除。すっきりしないけどまぁ良しとしましょう。

$ sudo rm /opt/local/bin/mysql*

portを使わずbrewでインストールして、今後はこっちを使うようにしました。

$ brew install mysql
$ mysql.server start
$ mysql_secure_installation
$ mysql -u root -p