首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝根用户在MySQL命令行中的访问

问拒绝根用户在MySQL命令行中的访问
EN

Stack Overflow用户
提问于 2012-08-01 21:20:07
回答 9查看 242.8K关注 0票数 41

我刚刚安装了xampp,并且正在使用命令行编写mySQL。我使用‘超级用户’没有密码,可以连接到mysql,但无法CREATE DATABASE,因为我得到了错误的1044 access denied for user '' @ 'localhost'。我以-uroot身份登录。

在phpMyadmin中,我有权限做我想做的事情,但在命令行中,我似乎没有写权限。我看过所有其他关于这个话题的相关帖子,但都无济于事。我不能授予特权,因为我根本没有特权。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-08-02 19:26:27

我重新安装了ODBC connector msi,并直接重新安装了mySQL (除了xampp),现在它可以工作了。我认为这是一个连接器问题,因为SHOW DATABASES实际上根本没有显示我的数据库。

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

票数 0
EN

Stack Overflow用户

发布于 2012-08-02 17:14:32

您是否以根用户身份登录到MySQL?在以MySQL根用户身份登录时,您必须显式授予“常规”MySQL用户帐户特权。

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

在终端类型中:

代码语言:javascript
复制
mysqladmin -u root password 'password'

要登录到MySQL,请使用以下命令:

代码语言:javascript
复制
mysql -u root -p

要手动设置权限,请使用跳过授权表选项启动服务器,打开mysql客户端并手动更新mysql.user表和/或mysql.db表。不过,这可能是一项乏味的任务,因此,如果您需要一个具有所有privs的帐户,我将执行以下操作。

使用skip-grant-tables选项启动服务器

启动mysql客户端(无用户名/密码)

发出命令

代码语言:javascript
复制
flush privileges;

这强制加载授权表。

使用如下所示的GRANT命令创建一个新帐户(但将用户名和密码替换为您想要使用的任何内容。

代码语言:javascript
复制
GRANT ALL on *.* to 'username'@'localhost' identified by 'password';

以正常模式(无跳过授权表)重启服务器,并使用新创建的帐号登录。

请参阅this MySQL文档。

票数 73
EN

Stack Overflow用户

发布于 2012-08-01 21:42:50

导航到do C:\xampp\mysql\bin\,并确保文件mysql.exe位于该文件夹中。

代码语言:javascript
复制
mysql -uroot -p

如果没有密码,只需按enter键。

提示符将更改为

代码语言:javascript
复制
mysql>

执行您的mysql命令

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11760177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档