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

gav*_*vin 37 mysql xampp command-line

我刚刚安装了xampp,并使用命令行来编写mySQL.我使用'root'没有密码,可以连接到mysql,但不能CREATE DATABASE得到错误1044 access denied for user '' @ 'localhost'.我是以登录身份登录的-uroot.

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

Jac*_*cob 70

您是否以root身份登录MySQL?在以MySQL root身份登录时,您必须向"常规"MySQL用户帐户显式授予权限.

首先为MySQL数据库设置root帐户.

在终端类型中:

mysqladmin -u root password 'password'
Run Code Online (Sandbox Code Playgroud)

要登录MySQL,请使用:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

要手动设置权限,请使用skip-grant-tables选项启动服务器,打开mysql客户端并手动更新mysql.user表和/或mysql.db表.这可能是一项繁琐的工作,但如果您需要的是一个拥有所有权限的帐户,我会执行以下操作.

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

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

发出命令

flush privileges;
Run Code Online (Sandbox Code Playgroud)

这会强制加载授权表.

使用GRANT命令创建一个新帐户(但是用您想要使用的任何内容替换用户名和密码.

GRANT ALL on *.* to 'username'@'localhost' identified by 'password';
Run Code Online (Sandbox Code Playgroud)

以正常模式重新启动服务器(没有skip-grant-tables)并使用新创建的帐户登录.

请参阅 MySQL文档.


小智 10

导航到C:\ xampp\mysql\bin \并确保文件mysql.exe在该文件夹中.

mysql -uroot -p
Run Code Online (Sandbox Code Playgroud)

如果没有密码,请按Enter键.

提示符更改为

mysql>
Run Code Online (Sandbox Code Playgroud)

做你的mysql命令


Vis*_*hal 6

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

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

导航

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

并为root用户设置密码.

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

打开XAMPP控制面板单击"Shell"按钮

现在将在该窗口类型中打开命令提示符窗口

mysql -u root -p;
Run Code Online (Sandbox Code Playgroud)

它将要求输入密码,键入您为root用户设置的密码.

在那里你以root用户身份登录:D现在做你想做的事:P


gav*_*vin 0

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

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