`

解决 Access denied for user'root'@'IP地址'

 
阅读更多

 

解决mysql"Access denied for user'root'@'IP地址'"问题
在MYSQL 中,用远程软件登陆服务器,有时出现:Access denied for user 'root'@'localhost'  www.2cto.com  
出现这种问题,主要的原因就是权限配置的时候 没有配置正确。
解决方法如下:
当用Linux/unix的tty 登陆进MYSQL 时, mysql -u root -p 会提示你输入密码,输入正确的密码后正常登陆。
然后在提示符下,打命令:show grants; 会出现root如下的权限表示:GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '565491d704013245' WITH GRANT OPTION
此时,注意看那个“@”后面的,是localhost 意思是本机登陆,,此时,如果你用远程登陆软件来登陆的话,会出现错误提示:Access denied for user 'root'@'IP地址'。。IP地址那块是你远程机器的IP地址。也就是服务器在告诉你,当你用“IP地址”登陆时,是拒绝的,因为,MYSQL权限设置里并没有给你对应你IP地址登陆的权限。因为刚才的SHOW GRANTS;命令结果已经告诉你了,仅限本机登陆。
那解决方法如下:此时,你可以尝试用空密码连接,是可以连接进入的。或者你在服务器的tty 或者pts操作台中进入服务器后执行如下的命令:
grant all privileges on *.* to 'root'@'%' with grant option;
意思是让root在所有机器都可以登陆到MYSQL服务器(拥有所有权限)。当执行完这条命令后,用客户端登陆,此时,是需要输入口令了。
GRANT ALL PRIVILEGES
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"Sql代码
1. mysql-u root -pvmwaremysql>use mysql;
2. mysql>update user set host = '%' where user = 'root';
3. mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。Sql代码
1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
2.FLUSH   PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码Sql代码
1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
2. 'mypassword' WITH GRANT OPTION;
3. FLUSH   PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
FLUSH   PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码Sql代码
1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
2. 'mypassword' WITH GRANT OPTION;
3. FLUSH   PRIVILEGES;
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
FLUSH   PRIVILEGES;
注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。
另外一种方法.
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦!
分享到:
评论

相关推荐

    解决mysql创建数据库后出现:Access denied for user ‘root’@’%’ to database ‘xxx’的问题

    在使用MySQL数据库时,有时会遇到“Access denied for user ‘root’@’%’ to database ‘xxx’”的错误,这通常表示当前用户没有足够的权限访问或操作指定的数据库。本文将详细介绍如何解决这一问题。 首先,让...

    mysql8重置root用户密码的完整步骤

    这里的`host`列指定了用户可以从哪些IP地址登录,`%`表示允许从任何地方远程登录。`user`列是用户名,`authentication_string`是存储密码的字段,而在MySQL 5.7.9之后,`password`字段和`password()`函数被弃用。`...

    MySQL 可以用localhost 连接,但不能用IP连接的问题解决方法

    主要介绍了MySQL 可以用localhost 连接,但不能用IP连接的问题解决方法的相关资料,这里提供了解决方案,需要的朋友可以参考下

    Mysql安装 Navicat 出现1044/1045错误的解决方法

    1. 服务器首先检查试图连接的客户端(即你的桌面)的主机地址或IP地址是否在允许的列表中。 2. 如果客户端被允许连接,服务器接着检查用户对每个请求的操作是否有足够的权限,如创建表、删除表或修改表等。 要解决...

    远程登陆mysql1130错误解决办法

    MySQL的用户表中存储了每个用户的登录信息,包括允许该用户从哪些主机(或IP地址)进行连接。当`host`字段设置为“127.0.0.1”或“localhost”时,意味着该用户只能从本地主机访问MySQL服务器。 解决这个问题的方法...

    MYSQL学习之Access denied错误的原因.docx

    在这种情况下,需要使用`--host`选项指定服务器的IP地址,以TCP/IP方式连接,确保主机名在服务器的user表中有对应条目。 10. **检查用户权限**:确保用户账户在MySQL的user表中有正确的主机名和权限设置。如果用户...

    docker安装mysql踩过的坑.doc

    首先往VM安装带有docker东西的虚拟机,查看ip地址是192.168.200.128.然后按照网上步骤docker pull mysql->docker images再创建mysql映射端口啥的,就出现外部数据库连接不上,出现1045等问题。文档里面配上我操作的...

    云服务器Ubuntu_Server_16.04.1安装MySQL并开启远程连接的方法

    `%`符号表示允许任何远程IP地址连接。完成授权后,执行`FLUSH PRIVILEGES;`以使更改立即生效,然后使用`EXIT;`退出MySQL。 3. **测试和配置远程连接**: - **确认MySQL端口**:默认情况下,MySQL监听3306端口。...

    Linux,mysql同意远程连接教程-mysql5.6同意远程连接.pdf

    如果遇到“Access denied for user”的错误,检查你的防火墙设置,确保3306端口(默认MySQL端口)对远程连接开放,并检查MySQL的配置文件(通常为`my.cnf`)中的`bind-address`是否设置为0.0.0.0,这允许从所有IP...

    在Linux下用Smbmount命令挂载Windows共享.docx

    2068: tree connect failed: ERRDOS-ERRnoaccess (Access denied.) SMB connection failed ``` 上述错误表明,由于`guest`账户被禁用,匿名登录无法完成。在这种情况下,必须使用有效用户名和密码重新尝试挂载...

    mysql-8.0.20-macos10.15-x86_64.tar.gz

    如果出现 提示”Access denied for user ‘root’@’localhost’ (using password: YES)” mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature...

    mysql安装出现1045解决方法

    在使用MySQL数据库时,有时会遇到“1045错误”,这是一个常见的访问权限问题,意味着用户无法连接到MySQL服务器,通常提示为“Access denied for user 'username'@'hostname' (using password: YES/NO)”。...

    linux安装mysql与安装后常见的问题总结

    连接问题也很常见,比如“Access denied for user 'root'@'localhost'”。这可能是由于未正确设置root用户的密码,或者MySQL的配置文件`my.cnf`中的bind-address配置不正确。确保你已经设置了正确的密码,并且bind-...

    第5篇:MySQL日志分析.pdf

    - 参数:Access denied for user 'root'@'192.168.204.1' (using password: YES) - **成功连接示例**(假设存在): - 时间:190601 22:03:20 - ID:100 - 命令:Connect - 参数:root@192.168.204.1 on - ...

    关于mysql的一些常见问题和解决方案

    - 访问被拒绝,例如错误提示 `ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)`。 **解决方案:** 1. **确认用户名和密码:** 首先确认提供的用户名和密码是否正确。可以在...

    linux下服务器的操作

    - **密码验证失败问题**:在尝试登录MySQL时可能会遇到“Access denied for user 'root'@'localhost'”错误。这通常是因为MySQL服务器配置了密码验证,而未提供正确的密码。解决方法是重新设置密码。 ```bash # ...

    mysql练习作业题.docx

    当尝试登录MySQL时遇到错误“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)”,意味着用户名或密码不正确,或者是没有提供密码。 在MySQL中,启动和停止服务分别使用: ``...

    mysql主从同步镜像备份镜像备份汇编.pdf

    - **错误信息**:“Access denied” - 这个错误通常意味着在主服务器上没有正确地为从服务器配置访问权限。 - 解决方案:重新检查`GRANT`语句中的用户名、密码以及权限是否正确配置,并确保在主服务器上执行了`...

    Ubuntu18.04(linux)安装MySQL的方法步骤

    如果你遇到`Access denied for user: 'root@localhost'`的错误,可以直接以root用户身份登录: ``` sudo mysql -u root ``` 8. **创建新的root用户或普通用户** 如果不希望使用sudo直接登录,需要创建新用户并...

    mysql登录报错提示:ERROR 1045 (28000)的解决方法

    这个错误通常表示"Access denied for user",即用户无权访问,通常与认证失败有关。本文将深入探讨这个问题的原因,并提供详细的解决步骤。 1. **问题描述**: 当你尝试用`mysql -u root -p`命令登录MySQL服务器时...

Global site tag (gtag.js) - Google Analytics