安装mysql5.7解决报错 TIMESTAMP with implicit DEFAULT value is deprecated.

安装mysql 5.7.16

在需要执行mysqld --initialize --user=mysql命令对mysql数据库初始化的情况下包了两个错误

报错一 --initialize specified but the data directory has files in it. Aborting.

[root@lzs mysql5.7]# mysqld --initialize --user=mysql
2020-05-26T12:11:14.759497Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-05-26T12:11:14.761046Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2020-05-26T12:11:14.761084Z 0 [ERROR] Aborting

my.cnf文件添加配置

注意添加前一定要给my.cnf这个文件备份,

explicit_defaults_for_timestamp=1

在这里插入图片描述
即使复制粘贴拷贝了配置,也可能死活起不起来
在这里插入图片描述

不知道为啥,第一次替换修改保存后,服务怎么启动不起来,然后我重新覆盖了一份备份的my.cnf
再修改一次成功
在这里插入图片描述

报错二 [ERROR] --initialize specified but the data directory has files in it. Aborting.

在进行mysqld --initialize --user=mysql初始化的时候报错2

解决

在这里插入图片描述
更改后
在这里插入图片描述

vim /etc/my.cnf
查看文件,寻找datadir=...
查看到:datadir=/usr/local/mysql/data, 
这个是data保存目录。
进入/usr/local/mysql/data后,查看到确实有数据:
将/usr/local/mysql/data备份,
cd /usr/local/mysql
mv data data.bak
接着执行:
# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data# systemctl start mysqld
  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL 是一种基于关系型数据管理系统的数据库,它支持多个操作系统,并且在许多领域中都被广泛应用。随着技术的不断发展,MySQL 的版本也在不断更新,其中一些变化会影响数据库的安装和使用。使用 MySQL 进行开发的开发者们可能会在安装 MySQL 的过程中遇到警告信息 "timestamp with implicit default value is deprecated"。 该警告信息是 MySQL 中的一个新功能,主要是为了提醒 MySQL 用户不要在创建 timestamp 字段时自动赋值默认值。这是因为在 MySQL 5.6.5 之后的版本中,MySQL 引入了一项新特性,即 timestamp 字段将默认值设为 NULL,并且只有在第一次插入记录时才会自动赋值时间戳。 虽然 MySQL 已经弃用了在 timestamp 字段上自动设置默认值的方法,但现有的代码中仍然可能会使用该方法。因此,在新版本的 MySQL 中,如果尝试在 timestamp 字段上设置默认值,函数库将会给出警告信息,提醒用户不应该这样做。 为了消除这个警告信息,开发者可以使用以下方法: 1. 在使用 timestamp 字段创建表时,不设置默认值,而是在插入记录时手动插入时间戳。 2. 在 MySQL 5.6.5 之前的版本中使用 timestamp 字段时,可以继续使用自动赋值默认值的方法。 3. 修改现有的代码以遵循 MySQL 的最新规定。 总之,当开发者在安装 MySQL 时遇到 "timestamp with implicit default value is deprecated" 的警告信息时,应该了解这是 MySQL 引入了新特性,提醒用户不要在创建 timestamp 字段时自动赋值默认值。开发者可以根据自己的需要采取适当的措施来解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值