方案一:
通过SET设置,但这是临时的方案,并且只有在当前会话窗口才有效,甚至设置全局sql_mode,都只是个临时解决方案。
方案二:
1、在MySQL根目录下创建my.ini
2、创建data文件夹,如果是之前就已经有data了,在my.ini指向原有的data路径即可
3、重新启动mysql服务
[mysql]
default-character-set=utf8
[mysqld]
port = 3306
basedir=C:\Users\Admin\Documents\WorkSpace\Tools\mysql-8.0.18-winx64
datadir=C:\Users\Admin\Documents\WorkSpace\Tools\mysql-8.0.18-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
CentOS 修改方案见《【服务器运维】MySQL数据存储至数据盘》