我有一台 Lion Server(从 Snow Leopard Server 升级而来),它仍然有 Apple 提供的 MySQL 5.0 服务器 [mysql Ver 14.12 Distrib 5.0.92,适用于 apple-darwin10.0 (i386)]。无需重建整个机器,我就可以尝试确定如何删除旧版 Apple 分布式 MySQL 服务器的所有痕迹。
当前MySQL服务器没有需要保留的数据。
我搜索了答案,但似乎大多数回复都假设您正在运行 Homebrew 或 MySQL.com 版本。Apple 捆绑版本似乎不使用标准路径或文件名。
一旦它被删除,我想全新安装更新版本的 MySQL。
快速运行 find 来定位一些 MySQL 的踪迹,结果如下:
find / -name mysql -print 2> /dev/null
/Previous System/private/etc/raddb/sql/mysql
/private/etc/raddb/sql/mysql
/private/var/mysql
/private/var/mysql/mysql
/usr/bin/mysql
/usr/share/mysql
我在 /Library/Receipts 或 /Library/Receipts/db 中没有看到任何与 MySQL 相关的内容。
# ls -la /Library/Receipts/
total 24
drwxrwxr-x 6 root admin 204 Jul 24 2011 .
drwxr-xr-x+ 67 root wheel 2278 Mar 8 07:43 ..
-rw-r--r--@ 1 root admin 0 Jul 24 2011 .SetupRegComplete
-rw-r--r-- 1 root admin 0 Jul 24 2011 BSD.pkg
-rw-r--r-- 1 root admin 9594 Mar 24 15:29 InstallHistory.plist
drwxr-xr-x 2 _installer admin 68 Jun 22 2011 db
我甚至没有在 /Library/StartupItems 中看到任何东西。
运行“ps -A”会提供更多线索。
79 ?? 0:20.51 /usr/libexec/mysqld --socket=/var/mysql/mysql.sock --user=mysql --port=3306 --datadir=/var/mysql --pid-file=/var/mysql/coresrv01.mydomain.com.pid
如果有人能提供一些指点,我将非常感激。
答案1
我经过反复尝试终于找到了答案。运行以下脚本(使用 sudo),它将删除 Apple 提供的 MySQL 服务器的所有痕迹。
警告 - 这将删除 Apple 捆绑的 MySQL 5.0 服务器上存在的所有数据库。请务必确保您已进行所有必要的备份。我们已警告您!
#!/bin/bash
# Stop MySQL daemon
launchctl unload /System/Library/LaunchDaemons/org.mysql.mysqld.plist
# Remove Configuration Info
rm -fr /System/Library/LaunchDaemons/org.mysql.mysqld.plist
rm -fr /etc/my.cnf
# Remove old data stores / lock files / socket
rm -fr /private/var/mysql
# Remove binaries and libraries
rm -fr /usr/bin/mysql*
rm -fr /usr/libexec/mysql*
# Remove documentation / man pages
rm -fr /usr/share/info/mysql.info
rm -fr /usr/share/man/man1/mysql*
rm -fr /usr/share/man/man5/mysql*
rm -fr /usr/share/man/man8/mysql*
rm -fr /usr/share/mysql
一旦脚本运行完毕,安装 MySQL 5.5 64 位 pkg 将毫无问题。