mysql5.7用户权限和sql_mode
由于mysql新版(5.7.X版本)引入了新的用户权限管理,在使用过程中与老版本不同,造成很多困扰,下面一一解决:
一、用户权限
新建用户并赋予权限:
grant all on *.* to 'name'@'%' identified by 'password';
grant all on *.* to 'name'@localhost identified by 'password';
grant all on *.* to 'name'@'127.0.0.1' identified by 'password';
需要注意的是%,localhost,127.0.0.1都是不能共用的,在实际使用中需要分别赋权。
二、sql_mode
对于老版本mysql能够兼容的日期格式,新版本数据库不再支持,此时需要修改sql_mode模式,而且进入mysql之后进行修改只对当前session有效,退出后恢复原状,新版默认的mode如下:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
可以通过‘select @@sql_mode’指令查询
通过修改vim /etc/mysql/mysql.conf.d/mysqld.cnf中的数据为永久修改
sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
在原有基础上删除date有关的要求,保存退出并重启即可。
参考链接:https://blog.csdn.net/u012259256/article/details/56482218