2012-08-01 170 views
28

我刚刚安装了xampp,并且正在使用命令行来编写mySQL。 我使用没有密码的'root',可以连接到mysql但不能CREATE DATABASE,因为我得到错误1044 access denied for user '' @ 'localhost'。我登录为-uroot访问在MySQL命令行中被root用户拒绝

我有特权在phpMyadmin做我想做的,但是,在命令行我似乎没有写权限。我已经看过关于这个主题的所有其他相关帖子,但无济于事。无论如何,我无法授予GRANT特权。

+0

我在Windows BTW – gavin 2012-08-01 13:21:09

+0

在MySQL命令行工具,当你点击它,它会打开并要求输入密码时,你能成功登录? – Shubhansh 2012-08-01 13:25:16

+0

嗨。我没有提示任何东西,我只是导航到C:\ xampp \ mysql \ bin \ mysql -u root; – gavin 2012-08-01 13:28:26

回答

0

我重新安装了ODBC连接器MSI和直接(从XAMPP除外)重新安装了MySQL和它现在的作品。我认为这是一个连接器问题,因为SHOW DATABASES根本没有显示我的数据库。

我的'root'登录无法访问数据库,这使得它看起来像有限的特权,但实际上没有正确连接。

-2

你千万不要和-u之间的空格字符的用户名:

mysql -uroot -p 
# or 
mysql --user=root --password 
+0

嗨。我刚刚尝试过,但仍然遇到同样的错误。是否应该说:“Acess拒绝'root'@'localhost'”?而不是用户:''?我不确定我是否以“root”身份登录 – gavin 2012-08-01 13:41:21

8

导航做C:\ XAMPP的\ mysql的\ BIN \,并确保该文件的mysql.exe是文件夹中。

mysql -uroot -p 

如果没有密码,请按回车。

mysql> 

上提示修改做你的mysql命令

+0

SHOW DATABASE; - 此作品 – gavin 2012-08-01 13:51:25

+0

CREATE DATABASE db; - 这将返回错误 – gavin 2012-08-01 13:51:49

+0

btw我使用Windows命令行,现在使用mysql命令行。无论哪种方式,他们是一样的东西 – gavin 2012-08-01 13:53:05

58

你登录到MySQL作为根?您必须在以MySQL root身份登录时明确授予您的“常规”MySQL用户帐户权限。

首先为您的MySQL数据库设置一个root帐户。

在终端类型:

mysqladmin -u root password 'password' 

要登录到MySQL,使用:

mysql -u root -p 

要设置权限手动启动与跳过授权-tables选项的服务器上,打开的MySQL客户端并手动更新mysql.user表和/或mysql.db表。这可能是一个乏味的任务,所以如果你需要的是一个拥有所有特权的账户,我会做以下事情。

先从skip-grant-tables选项

启动MySQL客户机服务器(没有用户名/密码)

发出命令

flush privileges; 

这迫使要加载的授权表。

创建具有GRANT命令是这样的一个新的帐户(但不管你想用更换用户名和密码。

GRANT ALL on *.* to 'username'@'localhost' identified by 'password'; 

重新启动在正常模式下的服务器(不跳过赠款表)和与新创建的帐户登录。

参考this MySQL的文档。

+0

谢谢,雅各布。实际上,我重新安装了ODBC连接器msi并直接重新安装mySQL(除了xampp),它现在可以工作。我认为这是一个连接器问题,因为SHOW DATABASES根本没有显示我的数据库。我的'root'登录没有访问数据库,这使得它看起来像有限的特权,但它没有正确连接。不过这是很有用的东西 - 谢谢。 – gavin 2012-08-02 11:24:50

4

默认情况下,在XAMPP中没有为root用户设置密码。

您可以为MySQL的root用户设置密码。

导航到

本地主机:80 /安全/ index.php的

并设置为根用户密码。

注意:如果你的Apache在不同的端口上,请改变上面url的端口号。

打开XAMPP控制面板中点击“壳牌”按钮

命令提示符窗口将在窗口中键入现在打开

mysql -u root -p; 

它会询问你的密码键入你有密码为root用户设置。

你去那里乌尔登录为root用户:D现在做什么ü想做的事:P

-1

,这可能有助于在Ubuntu:

去/etc/mysql/my.cnf和评论这条线:

bind-address   = 127.0.0.1 

希望这可以帮助别人,我一直在寻找这样的,同时也

干杯

0

服务器文件只CHANE名文件夹
等/ MySQL的
重命名
mysql-

相关问题