MySQL:ERROR 1227(42000):访问被拒绝 - 无法创建用户

cPr*_*rog 25 mysql

我在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是否与错误消息有关?

Rol*_*DBA 91

首先要做的是运行:

SHOW GRANTS;
Run Code Online (Sandbox Code Playgroud)

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

而不是使用.登录到mysql

mysql
Run Code Online (Sandbox Code Playgroud)

像这样登录:

mysql -uroot
Run Code Online (Sandbox Code Playgroud)

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

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

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

[mysqld]
skip-grant-tables
skip-networking
Run Code Online (Sandbox Code Playgroud)

步骤02)重启mysql

net stop mysql
<wait 10 seconds>
net start mysql
Run Code Online (Sandbox Code Playgroud)

步骤03)连接到mysql

mysql
Run Code Online (Sandbox Code Playgroud)

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

UPDATE mysql.user SET password=password('whateverpasswordyoulike')
WHERE user='root' AND host='localhost';
exit
Run Code Online (Sandbox Code Playgroud)

步骤05)重启mysql

net stop mysql
<wait 10 seconds>
net start mysql
Run Code Online (Sandbox Code Playgroud)

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

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

你应该从那里开始.

CAVEAT:请删除匿名用户!

  • 你可以在__Mac OS X__中的__/usr/local/mysql/my.cnf__文件中添加__Step 01)__行 (4认同)
  • @CharlieParker`my.ini`是MySQL/Windows的配置文件.我提到`my.ini`,因为问题开头是`我在Win7上使用MySQL 5.5.16 noinstall Zip Archive (3认同)