美文网首页
Mac Mysql 配置支持timestamp默认值为0

Mac Mysql 配置支持timestamp默认值为0

作者: DeanWang | 来源:发表于2017-01-03 16:46 被阅读75次

    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

    相关文章

      网友评论

          本文标题:Mac Mysql 配置支持timestamp默认值为0

          本文链接:https://www.haomeiwen.com/subject/dalnvttx.html