MySQL——报错及解决方案
程序员文章站
2022-08-09 20:13:37
本文主要记录了在使用MySQL的过程中遇到的问题以及解决方案。 ......
mysql——报错及解决方案
摘要:本文主要记录了在使用mysql的过程中遇到的问题以及解决方案。
定义timestamp类型的数据
相关日志
1 [warning] timestamp with implicit default value is deprecated. please use --explicit_defaults_for_timestamp server option (see documentation for more details).
解决办法
在配置文件中加入:
1 [mysqld] 2 # explicit_defaults_for_timestamp 3 explicit_defaults_for_timestamp=true
问题说明
mysql5.6.6以前:
如果timestamp类型的列指定值为null,默认为当前timestamp。
如果timestamp类型的列没有指定值为null,也就是没有传值,默认为非null的一个值。
表中第一个timestamp列,如果没有指定值为null、也没有设置默认值,在插入和更新时都会设置为当前时间。
表中第一个timestamp列之后的所有timestamp列,如果没有被定义为null、定义default值,会设置为'0000-00-00 00:00:00'。
mysql5.6.6以后,需要在配置文件里设置 explicit_defaults_for_timestamp=true ,其含义为:
如果timestamp类型的列指定值为null,默认为当前timestamp。
如果timestamp类型的列没有指定值为null,也就是没有传值,默认为null。
声明timestamp类型的列不为能为null,而且没有指定默认值。在插入时timestamp类型的列没有指定值,如果是严格sql模式,会抛出一个错误,如果严格sql模式没有启用,该列会赋值为‘0000-00-00 00:00:00’,同时出现警告。
导入导出权限设置
相关日志
1 [note] --secure-file-priv is set to null. operations related to importing and exporting data are disabled. 2 [warning] insecure configuration for --secure-file-priv: current value does not restrict location of generated files. consider setting it to a valid, non-empty path. 3 [error] failed to access directory for --secure-file-priv. please make sure that directory exists and is accessible by mysql server.
解决办法
在配置文件中加入:
1 [mysqld] 2 # 设置导入导出 3 secure-file-priv=d:\all\mysql\file
问题说明
配置文件里的 secure-file-priv 参数是用来限制将数据导入导出到指定目录的:
当值为null,表示不允许导入导出操作。
当值为具体的文件夹,表示导入导出只能在该目录下操作,目录不存在会报错。
当值没有具体值时,表示不限制导入导出操作的文件夹。
推荐阅读
-
sql2000报错Successfully re-opened the local eventlog解决方法_MySQL
-
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
-
.NET Core中使用编码GB2312报错:‘GB2312‘ is not a supported encoding name 的解决方案
-
Springboot项目因为kackson版本问题启动报错解决方案
-
mysql表改了编码,话语执行就报错
-
新装的linux虚拟机安装mysql报错,求解决
-
MySQL8 执行SQL语句报错 "this is incompatible with sql_mode=only_full_group_by"
-
PHP的base64_decode及写入mysql前的转义
-
[精]任何数据存入mysql,及从中提取的程序
-
CentOS下安装启动MySQL及调用QT