MySQL:ERROR 1227(42000)在学校服务器上

时间:2014-02-16 13:29:16

标签: mysql linux unix

您好我想创建一个用户,但它失败了,因为我没有权限?我用“mysql -u huraibz001 -p”登录 这是我收到的以下错误消息:

  

错误1227(42000):拒绝访问;您需要(至少一个)此操作的CREATE USER权限

我也无法创建数据库,当然这也需要对我的权限做些什么。 然后我尝试了“显示赠款”,它向我展示了这一点:

Grants for huraibz001@localhost
GRANT USAGE ON *.* TO 'huraibz001'@'localhost' IDENTIFIED BY PASSWORD 'blablabla'

我也可以执行下面的“select user(),current_user();”这给了我:

+----------------------+----------------------+
| user()               | current_user()       |
+----------------------+----------------------+
| huraibz001@localhost | huraibz001@localhost |
+----------------------+----------------------+
1 row in set (0.00 sec)

我也尝试使用“mysql -uroot -p”登录,但这不起作用,因为我认为huraibz001是根。有人可以告诉我解决方案吗?

1 个答案:

答案 0 :(得分: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 -uroot -p

你应该从那里开始。

CAVEAT:Please remove anonymous users !!!

Source