我在homebrew下运行mysql55(5.5.30)已经有一段时间了,昨天我使用brew upgrade mysql55
将其更新为5.5.44。现在,我无法登录mysql,甚至无法运行它。重要提示:
1)运行后,收到The post-install step did not complete successfullyYou can try again using 'brew postinstall homebrew/versions/mysql55'
和This formula is keg-only, which means it was not symlinked into /usr/local.
消息。运行建议的命令似乎什么也做不了。
2)运行mysql.server start
之前工作良好。现在,当我尝试运行任何mysql命令时,都会得到command not found
。我还运行launchctl unload,然后加载plist文件。我可以使用/usr/local/opt/mysql55/bin/mysql
启动mysql,但无法使用/tmp/mysql.sock与我的客户机连接(访问被拒绝)。我试过添加/tmp/mysql.sock,但这没什么区别。
3)我的当前数据存储在/usr/local/var/mysql中(它有所有当前数据库的目录),但是有一个新的/user/local/var/mysql55目录,其中包含默认的test、mysql和performance_schema目录。
4)我试图修改mysql55.plist文件,将/usr/local/var/mysql指向data dir,并使用launchctl卸载和再次加载它,但仍然一无所获。
5)我的路径是/usr/local,现在和升级前的唯一区别是新的数据目录。brew upgrade的输出显示命令/usr/local/Cellar/mysql55/5.5.44/bin/mysql_install_db --verbose --user=steve --basedir=/usr/local/Cellar/mysql55/5.5.44 --datadir=/usr/local/var/mysql55 --tmpdir=/tmp
已运行。我把它修改为指向当前的data dir(--data dir=/usr/local/var/mmysql),它看起来运行正常,但是在运行mysql时仍然没有得到任何结果。以前的版本是5.5.30,因此似乎仍有一些内容链接到该目录。
我需要做什么才能让mysql.server再次工作,使用我当前的数据目录/usr/local/var/mysql?
谢谢。
最佳答案
我用mysql_install_db
运行了几次--datadir=/usr/local/var/mysql
都没有效果,所以我最后只添加了
basedir = /usr/local/Cellar/mysql55/5.5.44
datadir = /usr/local/var/mysql
到/etc/my.cnf,它现在可以找到数据目录了。
关于mysql - Homebrew mysql55升级到5.5后找不到mysql命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36671128/