mysql 8.0.20出现的一些问题及解决方案

1.由于sql_mode 中设置no_zero_in_date 导致的错误

Executing:
CREATE TABLE `miaosha`.`new_table` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `promo_name` VARCHAR(45) NOT NULL DEFAULT '',
  `start_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
  `item_id` INT NOT NULL DEFAULT 0,
  `promo_item_price` DOUBLE NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`));

Operation failed: There was an error while applying the SQL script to the database.
ERROR 1067: Invalid default value for 'start_date'

在终端连接mysql后,输入命令

select @@sql_mode;

mysql 8.0.20出现的一些问题及解决方案_第1张图片

正是红圈导致出错

mysql 8.0.20中一旦修改my.ini文件,就需要重新新建mysql服务

以下参考https://www.cnblogs.com/x-jingxin/p/12801590.html

(1)首先删除data文件夹 

(2)sc delete MySQL(mysql 服务名,可以在services.msc中查看)

mysql 8.0.20出现的一些问题及解决方案_第2张图片

(3)进入mysql bin目录

mysqld --initialize --console

复制生成的密码

(4)mysqld --install  

(5)net start mysql

( 6 )mysql -u root -p

这里密码是刚才复制的密码

进入sql 后修改密码:

alter user root@localhost identified by 'root'; 

然后重新进入mysql

select @@sql_mode;

mysql 8.0.20出现的一些问题及解决方案_第3张图片

mysql 8.0.20出现的一些问题及解决方案_第4张图片

成功!!!!!

 

还有一些坑之前遇到了没记,但是https://blog.csdn.net/lyy296293760/article/details/80727909 这里面差不多都写了

新加: 原本设置

serverTimezone=UTC 导致后台提取的时候和数据库存储的时间不对,比数据库时间多8个小时
修改为serverTimezone=Asia/Shanghai

https://blog.csdn.net/baidu_38837718/article/details/104981617

你可能感兴趣的:(mysql)