前言
作者之前一直是Docker
党,不管在什么平台上,都一直使用Docker
进行一些容器、环境的搭建。直到我发现Docker
在其它操作系统上的性能问题,就同一个sql,在Docker For Mac
执行需要7s+,Mac本地Mysql
只需要2s左右,Windows Wsl2 Docker
大概是2s~3s(Windows平台配置和Mac不一样,没有参考性)。可以不难发现,Docker For Mac
在高版本的Mac上使用了全新Hypervisor
,但是性能上并没有多少大的提升,特别是IO读写性能上,和原生差别还是非常大的,这里我放一篇文章,大家可以自行阅读专不专业我就不知道了,自己看吧,各平台基准测试和选择。Docker For Wsl2
的话,作者感觉还是不错的,但IO性能听说也是有点不太行。但Windows
上使用Docker
还是能用的,平时用来跑几个版本的Mysql
、Redis
这些开发环境还是不错的,容器也比较好管理。说了这么多,作者目前是Mac做为主力开发系统,所以最后还是向性能妥协了,直接在Mac上装原生的Mysql,其实并没有比Docker
复杂。下面是教程。
安装
brew install mysql@5.7
//安装mysql5.7
brew install mysql
//默认会安装最新的Mysql
启动
我不太推荐像网上其它人那样启动,其实brew是有service命令可以管理启动的。我放个文章,具体可以自行浏览,brew serivces
brew services start mysql@5.7
就可以启动mysql5.7
修改配置
执行mysql --help
然后在输出中找到Mysql
的配置文件地址。
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
我一般会直接改~/.my.cnf
,把自己的SQL_MODE加入到文件中,就可以了。
/usr/local/etc/my.cnf
可以修改绑定的IP,如果需要监听所有地址,就把127.0.0.1
改成0.0.0.0
就好了。