zoukankan      html  css  js  c++  java
  • [Mysql] NO_AUTO_CREATE_USER模式

    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自己的开发人员的观点问题还是系统的问题呢?

  • 相关阅读:
    js 兼容nextSibling
    ie background repeat 出现空白
    自制日历组件
    js cookie操作方法
    html table 上下左右边框
    js window.onload函数
    js 兼容event.target
    ie minheight
    css table 固定宽度
    [翻译]建立你的第一个Visual WebGui应用程序
  • 原文地址:https://www.cnblogs.com/jQing/p/2548417.html
Copyright © 2011-2022 走看看