linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功


如何进行mysql下的严格模式修改,使其可以用插入用户表的方式添加新用户

  • 方法1 修改全局变量sql_mode
  • 方法2 修改mysql配置文件

方法1 修改全局变量sql_mode 通过修改全局变量sql_mode来实现严格模式的修改,从而达到使用插入用户表的方式添加新用户。
首先进行插入用户表方式进行用户创建
linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片
从上面可以看出,此时是不允许进行插入用户表方式创建新用户的,这是因为mysql5.7的默认严格模式下是不可以使用insert语句来创建用户的。
解决方法:
将sql_mode修改为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION。
查询当前的sql_mode
show variables like "sql_mode%";

linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片
修改sql_mode值
set global sql_mode = "NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";

linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片
再次进再次使用insert的方式创建用户
linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片
由此可见,该方法是不行的,修改全局变量方式实现insert语句插入失败。
方法2 修改mysql配置文件 在mysql的配置文件中修改mysql中的严格模式,从而实现insert语句创建用户。
在windows系统下,mysql的默认配置文件名为my.ini
在Linux系统下,mysql的默认配置文件名为my.conf/my.cnf
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片

如果有则修改,没有则在[mysqld]中添加。
添加完成后重启mysql服务,再次使用insert的方式创建用户。
linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片
添加用户成功
【linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功】刷新权限表
linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片

退出mysql使用新创建的用户登录
linux|如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
文章图片
登录成功

    推荐阅读