我最近将我的 iMac 升级到了 Mavericks,然后我意识到我需要重新安装 MySQL。我安装了原生 DMG 版本,它运行良好,我应该把它留在那里。
但我忽略了它几个星期,当时我正在处理一些 Ruby 任务。我在使用 homebrew 设置 Ruby 时遇到了问题,所以我尝试卸载 MySQL 并使用 homebrew 安装它(使用brew install mysql
)。
经过这次尝试,我并没有意识到有什么问题,直到几天后我在本地网站(WordPress 网站)上工作时,它无法创建新表,尽管它能够写入现有表。我尝试重新启动,此时它似乎在一个完全不同的地方寻找文件夹data
,因为它只有默认数据库,而没有我一直在使用的数据库。
从那时起,我找到并复制了我的原始data
文件夹,以防丢失,并一直尝试切换我的 MySQL 安装,卸载所有文件,使用 homebrew 重新安装,使用 DMG 重新安装等,但都无济于事。我现在陷入了困境(我主要是一名设计师),一直在寻找解决方法。
我观察到我可以使用命令ps auxww|grep [m]ysqld
来查看我有哪些进程(我通常可以通过命令行找到自己的方法),并且我得到了以下结果:
jonathanstegall 2390 0.0 5.4 3062688 449400 ?? S 12:32AM 0:02.05 /usr/local/Cellar/mysql/5.6.13/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.13 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.13/lib/plugin --bind-address=127.0.0.1 --log-error=/usr/local/var/mysql/jonathaallsimac.err --pid-file=/usr/local/var/mysql/jonathaallsimac.pid
jonathanstegall 2304 0.0 0.0 2442580 968 ?? S 12:32AM 0:00.02 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --bind-address=127.0.0.1
jonathanstegall 7159 0.0 0.3 2619700 29072 ?? S 8:43PM 0:00.05 /usr/local/Cellar/mysql/5.5.15/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.5.15 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.5.15/lib/plugin --log-error=/usr/local/var/mysql/Jonathan-Stegalls-iMac.local.err --pid-file=/usr/local/var/mysql/Jonathan-Stegalls-iMac.local.pid
jonathanstegall 7114 0.0 0.0 2434388 964 ?? S 8:43PM 0:00.02 /bin/sh /usr/local/Cellar/mysql/5.5.15/bin/mysqld_safe
显然,我这里有几个进程正在运行,但我一直无法将其减少到适当的进程数并让其中一个进程运行。有什么建议可以做到这一点吗?
谢谢,
答案1
我设法解决了这个问题。以下是我采取的步骤:
在此之前:我将包含所有工作数据库的数据目录复制到桌面上。我不记得这个目录的路径了,但它确实让我不必担心接下来的步骤。
- 运行后
ps auxww|grep [m]ysqld
,我killall mysqld
又运行了一次,然后ps auxww|grep [m]ysqld
再次运行,验证没有进程正在运行。 - 运行,
sudo rm -rf /usr/local/Cellar/mysql
因为其中几个进程是自制的并且有 Cellar 路径。 - 跑步
sudo rm -rf /usr/local/opt/mysql
。 - 跑步
sudo rm -rf /usr/local/var/mysql
。 - 跑步
sudo rm -rf /etc/my.cnf
。 - 跑步
brew install mysql
。 - 跑步
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
。 - 跑步
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
。 - 跑步
brew cleanup
- 跑步
mysql -uroot
此时,我又可以再次安装自制的 MySQL 了。我不完全确定这一切是否有必要,但它确实得到了正确的结果。