前言
自从macOS升级至Mojave后小问题不断,现在使用Homebrew安装MySQL默认也是8.0版本,和Python类似我们依赖的组件可能还不支持高版本,新版本的某些更新和调整导致比如Sequel Pro和mysqldb不可用。当然我们也可以使用官方的MySQLWorkbench,之前介绍了如何在macOS下安装多版本Python,现在继续分享macOS如何降级MySQL。
如果不需要,可以删除完即可,也不需要安装5.7。
macOS Mojave 降级安装 MySQL 5.7
更新历史
2018年12月17日 - 初稿
扩展阅读
Install MySQL 5.7 on macOS Mojave - https://medium.com/@at0dd/ins...
正常安装
默认新版本是MySQL 8.0
brew update
brew install mysql
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
To connect run:
mysql -uroot
To have launchd start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
mysql.server start
卸载现有版本
无论是官方dmg还是brew都记得先备份重要数据后再清理
正常关闭并删除MySQL
mysql.server stop
brew services stop mysql
brew remove mysql
无法正常删除MySQL
ps -ax | grep mysql
stop and kill any MySQL processes
brew remove mysql
brew cleanup
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
安装MySQL指定版本
安装MySQL 5.7
brew install [email protected]
brew link --force [email protected]
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
To connect run:
mysql -uroot
[email protected] is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have [email protected] first in your PATH run:
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc
For compilers to find [email protected] you may need to set:
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
For pkg-config to find [email protected] you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"
To have launchd start [email protected] now and restart at login:
brew services start [email protected]
Or, if you don't want/need a background service you can just run:
/usr/local/opt/[email protected]/bin/mysql.server start
开机自启动
brew services restart [email protected]
设置环境变量
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc
手动启动和关闭
/usr/local/opt/[email protected]/bin/mysql.server start
/usr/local/opt/[email protected]/bin/mysql.server stop
安装mysqldb
Python中最连接Mysql常用的驱动是:
mysql-python :mysql的C语言的驱动
mysql-connector:msql官方的驱动
pymysql:python语言的驱动
使用MySQLdb ,但是提示importerror no module named mysqldb
brew install mysql-connector-c
pip install mysql-python
可能会出现以下错误,按照提示做即可
Error: Cannot install mysql because conflicting formulae are installed.
mysql-connector-c: because both install MySQL client libraries
Please brew unlink mysql-connector-c
before continuing.
Unlinking removes a formula's symlinks from /usr/local. You can
link the formula again after the install finishes. You can --force this
install, but the build may fail or cause obscure side-effects in the
resulting software.