【问题标题】:MySQL: ERROR 1227 (42000): Access denied - Cannot CREATE USERMySQL:错误 1227 (42000):访问被拒绝 - 无法创建用户
【发布时间】:2011-12-09 11:57:57
【问题描述】:

我在 Win7 上使用 MySQL 5.5.16 noinstall Zip Archive。

在我启动服务器后,show databases 命令向我显示了 2 个数据库的列表:information_schematest。后者是空的。

桌子user在哪里?

我尝试通过这个命令create user newUser;创建一个新用户,得到如下错误信息:ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation

我应该怎么做才能创建、数据库、表,并做所有我想做的操作?我不知道我使用MySQL 5.5.16 noinstall Zip Archive 的事实是否与错误消息有关?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    首先要做的是运行这个:

    SHOW GRANTS;
    

    你会很快看到你被分配了匿名用户来验证 mysql。

    而不是登录到 mysql

    mysql
    

    像这样登录:

    mysql -uroot
    

    默认情况下,root@localhost 拥有所有权限,没有密码。

    如果您在没有密码的情况下无法以 root 身份登录,请执行以下操作:

    步骤 01) 在 my.ini 的 mysqld 部分添加两个选项:

    [mysqld]
    skip-grant-tables
    skip-networking
    

    步骤02)重启mysql

    net stop mysql
    <wait 10 seconds>
    net start mysql
    

    步骤 03) 连接到 mysql

    mysql
    

    步骤 04) 从 root@localhost 创建密码

    UPDATE mysql.user SET password=password('whateverpasswordyoulike')
    WHERE user='root' AND host='localhost';
    exit
    

    步骤05)重启mysql

    net stop mysql
    <wait 10 seconds>
    net start mysql
    

    步骤 06) 使用密码以 root 身份登录

    mysql -u root -p
    

    你应该从那里开始。

    警告:Please remove anonymous users !!!

    【讨论】:

    • @CharlieParker my.ini 是 MySQL/Windows 的配置文件。我提到了my.ini,因为问题以I'm using MySQL 5.5.16 noinstall Zip Archive on Win7.开头
    • 您可以在 Mac OS X 的 /usr/local/mysql/my.cnf 文件中添加 Step 01) b>
    • 这对我有用。但是,作为副作用,它使我的 java 应用程序无法使用特定于数据库的用户(即不是 root)连接到数据库。这应该发生吗?
    • 替代@goker.cebeci 建议:/etc/mysql/my.cnf
    • @goker.cebeci 建议的另一种选择(自制 + mariadb):/usr/local/etc/my.cnf
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 2015-07-18
    • 2019-10-20
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多