我刚刚安装了 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/