mysql安装报错、运行mysql文件报错[Err] 1067 - Invalid default value for 'addtime'

今天部署了免安装版的MySQL,出现了Table 'mysql.plugin' doesn't exist的问题,苦恼了好久,终于在网上找到了解决方案,现整理一下给大家分享: 系统环境:Win10 64位 MySQL版本:mysql-5.7.17-winX64 部署的步骤就是按照网上说的:

1:修改环境变量path,增加值C:\Program Files\mysql-5.7.17-winX64\bin

2:修改my-default.ini,重命名为my.ini,修改文件内容: 1 2 # basedir = C:\Program   Files\mysql-5.7.17-winX64 # datadir = C:\Program   Files\mysql-5.7.17-winX64\data 在主目录“C:\Program Files\mysql-5.7.17-winX64”下创建空的data文件夹;

3:管理员运行cmd,输入:mysqld -install,显示安装成功;再输入:net start mysql,提示启动服务失败, 此时:到data文件夹下看到5个文件,打开后缀为.err的文件,里面提示:Table 'mysql.plugin' doesn't exist 针对这个问题的解决方案是: 1.把my.ini复制到\bin文件夹下; 2.在cmd到\bin目录,然后输入mysqld --initialize --user=mysql --console 执行此命令, 生成库. 注意有个临时密码, 要记下来;(先删除data下生成的所有文件) 3.启动服务net start mysql;

4.进入mysql命令下:mysql -uroot -p,输入刚刚的密码;

5.再输入set password for root@localhost = password('123456');  修改root的登录密码; 我按照此操作成功了,希望对各位能有帮助。

一、问题说明:

mysql> CREATE TABLE `search_log` (`search_time` timestamp NOT NULL default '0000-00-00 00:00:00' on update CURRENT_TIMESTAMP,`rdid` varchar(30) default NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ERROR 1067 (42000): Invalid default value for 'search_time'

报错原因意思是说:mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要  解决这个问题,就需要修改sql_mode的值。

二、解决办法:

mysql> select @@sql_mode; 

mysql> set sql_mode=(select replace(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE',''));

这里改完是没用的,因为要改全局参数。

mysql> set @@global.sql_mode=(select replace(@@global.sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE',''));

mysql> select @@global.sql_mode;
 

你可能感兴趣的:(java插件,mysql)