MAC OS安装Mysql和修改my.cnf文件,增加对日期0000-00-00 00:00:00默认值的支持

news/2024/11/28 11:47:01/

搜索:

brew search mysql

安装早期版本,brew link可以理解为简易的配置环境变量的方式

brew install mysql@5.6
brew link mysql@5.6

安装新版本,不需要link

brew install mysql

启动和停止:

mysql.server start
mysql.server stop

看mysql查找my.cnf (windows系统下熟知的my.ini在mac中不用)的顺序是如何

mysqld --help --verbose | more

会得到如下内容:

Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Starts the MySQL database server.Usage: mysqld [OPTIONS]Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /opt/homebrew/etc/my.cnf ~/.my.cnf 
The following groups are read: mysqld server mysqld-8.0
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit.
--no-defaults           Don't read default options from any option file,except for login file.
--defaults-file=#       Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
--defaults-group-suffix=#Also read groups with concat(group, suffix)
--login-path=#          Read this path from the login file.

其中

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /opt/homebrew/etc/my.cnf ~/.my.cnf 

就是mysql本体查找配置文件的顺序,一般在/opt/homebrew/etc/就存在当前的配置,并且该目录下还有一个default配置文件.

如果在/etc/中创建my.cnf,则会优先使用这个配置.

WordPress从mysql5.7之前版本导入的数据到mysql8时会出现

Invalid default value for 字段名称 

这样的错误.看错误语句可以发现是0000-00-00 00:00:00这样的时间格式不正确的原因.

虽然在mysql的链接session下临时使用

set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

可以更改配置但是通常我们使用navicat这样的工具做数据迁移时,他可能和query不走一个session,我测试在navica的查询中使用如上命令然后再执行数据传输工具并不可用.

修改my.cnf,增加配置

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

其他的诸如改端口号之类的配置也都在这文件了. 

重启mysql服务

 mysql.server restart


http://www.ppmy.cn/news/62847.html

相关文章

Lecture 12(Preparation):Reinforcement Learning

目录 What is RL? (Three steps in ML) Policy Gradient Actor-Critic Reward Shaping No Reward: Learning from Demonstration It is challenging to label data in some tasks. 例如下围棋时,下一步下在哪个位置最好是不太好确定的,此时可以考虑…

KubeVirt备份与还原方案【翻译】

KubeVirt备份与还原方案【翻译】 ref:https://github.com/kubevirt/kubevirt/blob/main/docs/backup-restore-integration.md 备份 为所有必需的k8s资源构建依赖关系图冻结应用程序pvc数据快照解冻应用程序将所有必需的k8s资源定义拷贝到一个共享的存储位置(可选…

Python——基于YOLOV8的车牌识别(源码+教程)

目录 一、前言 二 、完成效果 三、 项目包 四、运行项目 (教程) 一、前言 YOLOv8LPRNet车牌定位与识别https://www.bilibili.com/video/BV1vk4y1E7MZ/ 最近做了有一个车牌识别的小需求,今天完成了,在此记录和分享 首先&#x…

计算机二级java经典题目及其解析

解析: 栈的存储空间为S(1:50),初始状态为top51,表示栈的可用空间从S(1)到S(50),栈顶指针初始指向S(51)的位置,表示当前栈为空。 经过一系列正常的入栈与退栈操作后,top50,表示栈顶指针已经向下移动了一个位…

单词词义、词性、例句查询python代码

单词发音、词义、词性、例句查询、输出结果更简洁,一次可查多个单词 运行该代码,命令窗口输入单词,单词用“/”分开,例如:noisy/problem/community/neighbor 可以更多。先安装两个python包requests、 beautifulsoup4&…

解开 AWS Lambda 调用的奥秘:异步与同步

AWS Lambda是一种非常有用的云计算平台,允许企业在不管理基础设施的情况下运行代码。但是,Lambda函数的调用类型可能会让新手感到困惑。通过了解异步和同步调用之间的主要区别,您将能够设置Lambda函数以实现最高效率。下面深入探讨了AWS Lamb…

MySQL基础(九)子查询

子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。 SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然…

xray简单使用指南

前言收到需求如下 用户还需要一个报告 询问了群里的小伙伴推荐使用xray进行扫描 xray漏洞扫描G了,领导不满意的是还需要人写测试报告,因此采用awvs可以直接生成PDF发给甲方看。 awvs漏洞扫描文章如下所示 https://blog.csdn.net/weixin_44259638/articl…