mysql5.7用户权限和sql_mode

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

留下评论