mysql - MySQL命令行中root用户的访问被拒绝

标签 mysql command-line xampp

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

我在 phpMyadmin 中有权限做我想做的事,但是,在命令行中我似乎没有写权限。我查看了有关此主题的所有其他相关帖子,但无济于事。我不能授予权限,因为我没有任何权限。

最佳答案

您是否以 root 身份登录 MySQL?以 MySQL root 身份登录时,您必须明确授予“常规” MySQL 用户帐户的权限。

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

在终端类型中:

mysqladmin -u root password 'password'

要登录 MySQL,请使用:

mysql -u root -p

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

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

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

发出命令

flush privileges;

这会强制加载授权表。

使用类似这样的 GRANT 命令创建一个新帐户(但将用户名和密码替换为您想要使用的任何内容。

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

以正常模式重新启动服务器(没有跳过授权表)并使用您新创建的帐户登录。

请参阅 this MySQL 文档。

关于mysql - MySQL命令行中root用户的访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760177/

相关文章:

php - 计算 MySQL 中年份等于日期的行数 - JSON

java - 无法连接到我的数据库 000webhost.com

Mysql(有条件的?)从两个表查询

python - 设置 Macvim 以在 OSX 上进行 Python 开发

mysql - 当另一个 mysql 服务器正在运行时,XAMPP 的 MySQL 无法启动。请将其关闭并重试

mysql - 让 VS2013/SSRS 永久使用 .SQL 文件,而不是手动粘贴/导入数据集查询

c - 如何输入数组

command-line - 从终端查询不会打印任何内容

mysql - 从外部IP连接到MySql

xampp - 如何同时运行两个 xampp 副本?