Mysql的NO_AUTO_CREATE_USER模式
思韵闪耀
2022-02-25
0

Mysql的NO_AUTO_CREATE_USER模式

以前一直使用如下面的语句给mysql服务器添加用户: 

grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx; 
grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx@localhost; 
set password for xxx@'%' = password(xxx); 
set password for xxx@'localhost' = password(xxx); 
flush privileges; 

谁知道今天在另一个Mysql服务器上照葫芦画瓢出了问题,抱错说: 

ERROR 1133 (42000): Can't find any matching row in the user table 

Google了一下,原来Mysql还有一个模式控制这个,那就是NO_AUTO_CREATE_USER模式。 
也就是说,如果在mysql客户端中运行: 

mysql> set sql_mode = 'no_auto_create_user'; 

那么,上述的语句将不能成功,原因是没有提供用户密码,解决的办法是添加一个indentified 子句,例如: 

grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx identified by 'xxx'; 

另外,要注意的是,空密码是不认的,例如: 

grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx identified by ''; 就不行。 

关于服务器模式的详细文档见: 

http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html 

另外看了网上的讨论,仿佛linux下默认的都是可以直接添加密码为空的用户的,而windows版本都是不可以的,到底是Mysql自己的开发人员的观点问题还是系统的问题呢?


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

MySQL 批量删除表的实...
在实际应用中,有时候需要批量删除以特定前缀命名的表(如数据清理或数...
2025-09-07
开源邮件服务器对比,看看哪...
开源邮件服务器对比,看看哪款适合你开源的企业邮件系统通常提供完整的...
2025-07-24
如何双启动 Fedora ...
双启动 Linux 和 Windows 是一种完全享受这两款操作系...
2025-07-23
要在 Alibaba Cl...
要在 Alibaba Cloud Linux 上安装 Docker...
2025-07-22
要在 Alibaba Cl...
要在 Alibaba Cloud Linux 系统中添加 alin...
2025-07-22
将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06

热门资讯

MySQL权限篇之REPLIC... MySQL权限篇之REPLICATION CLIENT及REPLICATION SLAVE REPL...
configure: erro... php编译后出现这样的信息 以上略 checking for MySQLi support... y...
MySQL清屏命令 在Linux系统下MySQL的清屏命令 MySQL在Linux系统下,输入system clear即...
Skip-External-L... MySQL的配置文件my.cnf中默认存在一行skip-external-locking的参数,即跳...
MySQL 的复合查询或者嵌套... MySQL 的复合查询或者嵌套查询,有表两张,要以 tmpa 表两张为表列,将 tmpb 横向列出,...
MySQL创建用户与授权 一. 创建用户 命令: CREATE USER username@host IDENTIFIED B...
mysql 如何跟踪_MySQ... 在项目开发中,难免会遇到在数据库服务器端跟踪sql执行语句的需求,通过跟踪sql执行语句,我们可以确...
Mysql服务器无法启动 一、Mysql服务器无法启动,错误日志中提示: ^G/usr/local/mysql/bin/mys...
MySql ManifestU... 解决 MySql ManifestUpdate 通过执行计划关闭的方式,不适用超级权限管理人员(公司...
给MySQL的备份账户添加权限 给MySQL的备份账户添加权限 MySQL的备份可以说是重中之重,毕竟数据是一个网站的命脉。 但是备...