Mac本地机器不配置好MYSQL,很多服务没法跑起来,数据库基本上是代码最底层依赖;相比较而言,web服务起不起来对开发效率的影响反而没那么大;
1 Mac 上的MYSQL 配置文件在哪?
默认没有my.cnf 文件,但是可以创建一个
执行`mysql --help`会发现有如下输出:
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
The following groups are read: mysql client
由于/etc是系统目录,建议选择创建 /usr/local/etc/my.cnf 或者 ~/.my.cnf 文件;
2 从哪拷贝一份默认的配置文件 my-default.cnf ?
如果是通过brew安装的mysql,一般位于如下的类似目录中: `/usr/local/Cellar/mysql/5.7.13/support-files/my-default.cnf`
3 mysql5.7 不支持timestamp 默认值为0 怎么处理?
CREATE TABLE xxxx(
...
`uptime` timestamp NOT NULL default 0,
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上述sql在5.7版本中执行会报错,Invalid default value for 'uptime'
;需要手动更改mysql的配置文件。打开my.cnf文件,添加如下配置;
sql_mode=ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES
参考链接
https://my.oschina.net/u/192792/blog/652627
https://my.oschina.net/phpyer/blog/133042
http://stackoverflow.com/questions/7973927/for-homebrew-mysql-installs-wheres-my-cnf