Mysql的NO_AUTO_CREATE_USER模式 - 2007-10-14 16:49:02
以前一直使用如下面的语句给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自己的开发人员的观点问题还是系统的问题呢?
分享到:
相关推荐
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER #开启查询缓存 explicit_defaults_for_timestamp=true skip-grant-tables (3)生成data目录,DOS下mysqld --initialize-insecure --user=mysql (4)Service ...
解压zip压缩包,创建my.ini文件内容如下 ...sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPE
系统环境 操作系统:Linux/Unix/NT;推荐使用Linux或Unix操作系统,版本不限 服务环境:Apaceh(IIS)+PHP5.0.x+GD+MySQL5.0.x+Zend Optimzer3.0.x;...sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
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 2、去掉ONLY_FULL_GROUP_BY,重新设置值。 set @@sql_mode ='...
现象:MySQL5.7版本之后,date, datetime类型设置默认值”0000-00-00″,出现异常:Invalid default value for ‘time’ ...ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION 其中NO_Z
#开发者API:admin/123456#监控Druid 连接池状态#... 修改以下值:[mysqld]sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
解决办法: 在my.ini里找到 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION” 把其中的STRICT_TRANS_TABLES,去掉, 或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_...
在my.ini 的[mysqld]下添加sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 还原cloud.sql文件Apache环境配置(修改.http.conf) 打开LoadModule rewrite_module modules/mod_rewrite.so ...
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 安装说明 zy3.2目录文件直接传到网站根目录 目录结构说明 app 核心文件不需要修改和变动 lib 核心文件不需要修改和变动 为网站前台文件,包括模版一些...
create table user ( --int 整型 uId int, --小数 uPrice decimal, --普通长度文本,default设置默认值 uName varchar(255) default ‘zhangsan’, --超长文本 uRemark text, --图片 uPhoto blob, --日期 uBirthday ...
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 安装说明 app lib www为同级目录 不需要移动,网站直接指向www目录 目录结构说明 app 核心文件不需要修改和变动 lib 核心文件不需要修改和变动 www 为...
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 安装说明 app lib www为同级目录 不需要移动,网站直接指向www目录 目录结构说明 app 核心文件不需要修改和变动 lib 核心文件不需要修改和变动 www 为...
业务场景: 公司几个主要的业务已经独立...1、主数据库使用Innodb引擎,并设置sql_mode为 NO_AUTO_CREATE_USER 2、从库开启多实例,将多个主库里面的数据通过主从复制同步到同一个数据目录。从库的每个实例对应一个主库
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 安装说明 app lib www为同级目录 不需要移动同时上传,网站直接指向www目录 目录结构说明 app 核心文件不需要修改和变动 lib 核心文件不需要修改和变动...
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 安装说明 app lib www为同级目录 不需要移动,网站直接指向www目录 目录结构说明 app 核心文件不需要修改和变动 lib 核心文件不需要修改和变动 www 为...
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 安装说明 app lib www为同级目录 不需要移动,网站直接指向www目录 目录结构说明 app 核心文件不需要修改和变动 lib 核心文件不需要修改和变动 www 为...
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 安装说明 app lib www为同级目录 不需要移动,网站直接指向www目录 目录结构说明 app 核心文件不需要修改和变动 lib 核心文件不需要修改和变动 www 为...
40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT ...
Mysql多表查询: 代码如下:CREATE TABLE IF NOT EXISTS contact( contact_id int(11) NOT NULL AUTO_INCREMENT, user_name varchar(255), nom varchar(255), prenom varchar(255), mail varchar(64), ...
user_ini.filename = ".user.ini" ; To disable this feature set this option to empty value ;user_ini.filename = ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds ...