繁体   English   中英

#1045 - 用户 'root'@'localhost' 的访问被拒绝(使用密码:是)

[英]#1045 - Access denied for user 'root'@'localhost' (using password: YES)

这似乎是多余的,但我无法找到正确的解决方案。

我无法使用 mysql 控制台登录 mysql。它要求输入密码,我不知道我实际输入了什么。(有没有办法获取或更改密码?)这就是我的 config.inc 的样子.

当我尝试打开 phpmyadmin 时出现此错误(#1045 - Access denied for user 'root'@'localhost' (using password: YES))

<?php

/* Servers configuration */
$i = 0;

/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
 $cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'prakash123';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

/* End of servers configuration */

$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';


/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';


?>

我试图卸载(加上删除所有相关文件)WAMP 并重新安装。它也没有帮助。 在重新安装 WAMP 服务器时,它不要求任何用户名密码的东西,我不知道为什么。 非常感谢任何帮助。

我首先在提示符下更改了运行 mysql 的 root 密码

mysql -u root -p

更新密码:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';

使用新的 root 密码在文件config.inc.php中编辑行:

$cfg['Servers'][$i]['password'] = 'MyNewPass'

停止并重新启动 mysql 服务(在 Windows 中: mysql_stop.bat / mysql_start.bat

并让 phpMyAdmin 工作!

编辑 2017:对于 MySQL≥5.7,使用authentication_string代替Password (请参阅此答案):

`UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root';

`

问题是我安装了 2 个 Mysql 实例,但我不知道这两个实例的密码。只需检查端口 80 是否被任何程序使用。 这就是我所做的

1.退出Skype,因为它正在使用端口80。(请检查端口80是否被任何其他程序使用)。

2.在任务管理器中搜索Mysql服务并停止。

3.现在删除所有相关的mysql文件。确保删除所有文件。

4.重新安装

好吧,上面已经给出了许多解决方案。 如果它们都不起作用,也许您应该尝试再次将密码重置为“root”,如此所述,然后在其他浏览器中重新打开http://localhost/phpMyAdmin/ 至少这个解决方案对我有用。

这对我有用。 在你的配置文件中

$cfg['Servers']['$i']['password'] = 'yourpassword';

在你的 mysql shell 中,以 root 身份登录

mysql -u root

如果您忘记了旧密码,请更改密码或更新

UPDATE mysql.user SET Password=PASSWORD('yourpassword') WHERE User='root';

从 xampp 控制面板停止并重新启动 mysql 服务器。 phpmyadmin 可以登录查看您的数据库

mysql.exe->以管理员身份运行或转到以下路径 C:\wamp\bin\mysql\mysql5.5.24\bin 然后右键单击 mysql.exe 转到属性然后选择选项卡作为兼容性并查看对话框底部权限级别的框,只需选中以管理员身份运行此程序,然后单击应用 ok.finished 现在您打开成功的 phpMyadmin。 再见

  1. mysql -u root -p
  2. UPDATE mysql.user SET Password=PASSWORD('mypass') WHERE User='root';
  3. 刷新权限: FLUSH PRIVILEGES;
  4. 通过键入退出: Exit
  5. 使用新的 root 密码编辑文件 config.inc.php 中的行: $cfg['Servers'][$i]['password'] = 'mypass'

  6. 成功

转到“config.inc.php”。 在这里写下你的密码 - $cfg['Servers'][$i]['password'] =''

这个过程在纠正错误方面非常简单。 发生的事情是无法连接到 phpMyAdmin。 为了解决这个问题,您只需向位于 apps\phpMyadmin\config.ini.php 的系统 phpMyAdmin 配置文件提供正确的密码 1. root 应该已经设置为用户 2. 在 ' ' 和那它。

如果您仍然有问题,则这意味着需要更新用户名和/或密码或将其插入数据库。 为此,请使用命令行工具并进行更新。

UPDATE mysql.user SET Password=PASSWORD('Johnny59 or any you want to use') WHERE User='root';

转到config.inc.php ,找到$cfg['Servers'][$i]['password']并删除任何提供的密码,即更改$cfg['Servers'][$i]['password'] = 'password'; with $cfg['Servers'][$i]['password'] = '';

现在您可以启动phpMyAdmin

phpMyAdmin中选择Users菜单,选择root用户并单击Edit previlidges 现在向下滚动到更改密码区域,在无密码密码之间切换以提供您的新密码。 而已。

我今天有同样的错误。 我已经安装了 Djangostack,当我检查我的任务管理器时,有两个 mysqld 实例正在运行。 我检查了一个用于 wamp 服务器,另一个用于 django 堆栈。 我结束了 django 堆栈的一个,重新启动了 wamp 服务器中的所有服务,我能够访问 phpmyadmin

安装后我启动了 wamp,我被要求输入默认设置的用户和密码(用户:管理员密码:点),这与来自您的主题的消息是错误的。 比,我刚输入:

Username: root 
Password: (leave it empty)

它对我有用!

  1. 转到C:\xampp\phpMyAdmin

  2. 编辑config.inc.php文件

  3. 替换$cfg['Servers'][$i]['auth_type'] = 'config'; 通过$cfg['Servers'][$i]['auth_type'] = 'cookie';

现在PHPMyAdmin会询问您的密码,不再有错误。

试试下面的代码:

$cfg['Servers'][$i]['password'] = '';

如果您在 phpMyAdmin 的“ Users Overview ”页面中看到“root”用户的“密码”列字段为“否”。

使用 MariaDb,上述解决方案不起作用。

使用(下面以 ubuntu 16.04 和 mariadb-server Distrib 10.0.28 为例):

    sudo mysql_secure_installation
    …
    Change the root password? [Y/n] 
    New password: 

对于 UNIX,试试这个。 它对我有用:

  1. 连接 MySQL 使用 Navicat Premium 和初始根/“密码”
  2. UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
  3. 重启 MySQL

我也遇到过类似的错误,后来发现我的密码不对。

首先你必须去 config.inc.php 文件然后改变下面的指令

$cfg['Servers'][$i]['user'] ='';
$cfg['Servers'][$i]['password'] =''; 

或者

在此处输入图像描述

如果您因为无法登录 phpMyAdmin 而来到这里,请尝试使用 Mysql 中的 root 密码,而不是您在安装 phpMyAdmin 时输入的密码。

刚才我有这种情况,我试过这种方法,很简单。

首先使用以下命令停止 mysql 服务:

service mysql stop

然后再次使用此命令启动您的 mysql 服务

service mysql start

我希望它可以帮助其他人...... :)

更新 MySql 后,我收到了相同的错误消息。 原来,在MySql上安装不同版本后,在my.ini里面,端口不一样了。 以前的 MySql 版本有端口 3306,但新版本有端口 3308。检查你的 MySql my.ini,如果它不同,请在连接中使用来自 .ini 的端口。

php artisan serve 

此命令第一次获取 env 内容,如果您更新 .env 文件需要重新启动它。

在我的情况下,我的用户名和 dbname 是有效的,并且php artisan migrate工作

但需要 cntrl+c ,取消 php artisan serve ,然后再次运行

php artisan serve

检查环境变量的名称

我的案例:

  • 我在python-flask项目中使用sqlalchemy并遇到了这个问题。
  • 使用的 IDE: PyCharm
  • 在我的config.py文件中,我将SQLALCHEMY_DATABASE_URI设置为:
SQLALCHEMY_DATABASE_URI = os.getenv("DATABASE_URI")

我犯的错误(这是一个愚蠢的错误😅)

  • 在 PyCharm 中设置evironment_variables时,我做了:
SQLALCHEMY_DATABASE_URI=<my_db_uri>

解决方案

  • 我将上面的内容更改为:
DATABASE_URI=<my_db_uri>

纳马斯特🙏

在 C:\xampp\mysql\bin 的 my.ini 文件中,在#Mysql Server下的[mysqld]命令后添加以下行:

skip-grant-tables

这应该会删除错误 1045。

如果多个 myslq 在同一端口上运行,则在此处输入图像描述

右键单击 wamp 并测试端口 3306,如果其 wampmysqld64 正确,否则更改端口号并重新启动服务器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM