解决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'@'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身份登录啦!
发表评论
-
复制表结构及 复制数据到新表
2018-12-12 15:25 430<!--[if !supportLists]--> ... -
mysql 两个表 字段赋值
2018-05-18 10:10 762把 B表的 uniond 值 填到 A表的 username ... -
详解mysql int类型的长度值问题
2017-10-11 16:26 685以下是每个整数类型的存储和范围(来自mysql手 ... -
lnmp全面优化集合nginx+mysql+php
2017-05-18 15:34 657转自 http://www.cnblogs.com/sun ... -
mysql 优化
2015-08-26 16:41 464一、慢查询mysql> show variables ... -
mysql 重复记录
2014-06-19 14:01 352# 查询重复的记录,查找id重复的记录 Select id ... -
将一个表的查询结果插入到另一个表中
2014-05-05 16:50 414#如果表存在: insert into tab1 ... -
mysql source 还原出错请修改
2013-08-17 17:27 771mysql source 还原出错请在 my.cnf 下 ... -
mysql数据库还原出错ERROR:Unknown command
2013-06-18 15:55 998mysql数据库还原出错ERROR:Unknown comm ... -
msql 只查年月日
2013-03-15 10:18 872msql 只查年月日 where TO_DA ... -
MySQL server has gone away问题
2012-11-29 14:01 663解决的方法就是找到mysql安装目录,找到my.ini文件, ... -
APMServ MySQL 1577 错误解决方法
2012-11-28 14:20 1184APMServ MySQL 1577错误解决方法 ... -
mysql 数据库同步 (windows)
2012-11-08 16:55 888A机器: IP = 192.168.1.101 B机 ... -
MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
2012-11-08 11:26 785//登录MYSQL ... -
查询日期相关的MySQL语句
2012-06-27 22:20 862【`date` DATETIME NULL DEFAU ... -
MYSQL常用命令
2012-06-19 16:20 691MYSQL常用命令 MySQL通 ... -
MySQL查询本周、上周、本月、上个月份的数据
2012-06-13 10:53 1560MySQL查询的方式很多,下面为您介绍的MySQL ... -
Can't connect to MySQL server on '' (10060) 远程连接服务器出现以上错误,mysql
2012-05-11 17:20 10899> MySQL -uroot -p123456 ...
相关推荐
在使用MySQL数据库时,有时会遇到“Access denied for user ‘root’@’%’ to database ‘xxx’”的错误,这通常表示当前用户没有足够的权限访问或操作指定的数据库。本文将详细介绍如何解决这一问题。 首先,让...
这里的`host`列指定了用户可以从哪些IP地址登录,`%`表示允许从任何地方远程登录。`user`列是用户名,`authentication_string`是存储密码的字段,而在MySQL 5.7.9之后,`password`字段和`password()`函数被弃用。`...
主要介绍了MySQL 可以用localhost 连接,但不能用IP连接的问题解决方法的相关资料,这里提供了解决方案,需要的朋友可以参考下
1. 服务器首先检查试图连接的客户端(即你的桌面)的主机地址或IP地址是否在允许的列表中。 2. 如果客户端被允许连接,服务器接着检查用户对每个请求的操作是否有足够的权限,如创建表、删除表或修改表等。 要解决...
MySQL的用户表中存储了每个用户的登录信息,包括允许该用户从哪些主机(或IP地址)进行连接。当`host`字段设置为“127.0.0.1”或“localhost”时,意味着该用户只能从本地主机访问MySQL服务器。 解决这个问题的方法...
在这种情况下,需要使用`--host`选项指定服务器的IP地址,以TCP/IP方式连接,确保主机名在服务器的user表中有对应条目。 10. **检查用户权限**:确保用户账户在MySQL的user表中有正确的主机名和权限设置。如果用户...
首先往VM安装带有docker东西的虚拟机,查看ip地址是192.168.200.128.然后按照网上步骤docker pull mysql->docker images再创建mysql映射端口啥的,就出现外部数据库连接不上,出现1045等问题。文档里面配上我操作的...
`%`符号表示允许任何远程IP地址连接。完成授权后,执行`FLUSH PRIVILEGES;`以使更改立即生效,然后使用`EXIT;`退出MySQL。 3. **测试和配置远程连接**: - **确认MySQL端口**:默认情况下,MySQL监听3306端口。...
如果遇到“Access denied for user”的错误,检查你的防火墙设置,确保3306端口(默认MySQL端口)对远程连接开放,并检查MySQL的配置文件(通常为`my.cnf`)中的`bind-address`是否设置为0.0.0.0,这允许从所有IP...
2068: tree connect failed: ERRDOS-ERRnoaccess (Access denied.) SMB connection failed ``` 上述错误表明,由于`guest`账户被禁用,匿名登录无法完成。在这种情况下,必须使用有效用户名和密码重新尝试挂载...
如果出现 提示”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服务器,通常提示为“Access denied for user 'username'@'hostname' (using password: YES/NO)”。...
连接问题也很常见,比如“Access denied for user 'root'@'localhost'”。这可能是由于未正确设置root用户的密码,或者MySQL的配置文件`my.cnf`中的bind-address配置不正确。确保你已经设置了正确的密码,并且bind-...
- 参数: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 - ...
- 访问被拒绝,例如错误提示 `ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)`。 **解决方案:** 1. **确认用户名和密码:** 首先确认提供的用户名和密码是否正确。可以在...
- **密码验证失败问题**:在尝试登录MySQL时可能会遇到“Access denied for user 'root'@'localhost'”错误。这通常是因为MySQL服务器配置了密码验证,而未提供正确的密码。解决方法是重新设置密码。 ```bash # ...
当尝试登录MySQL时遇到错误“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)”,意味着用户名或密码不正确,或者是没有提供密码。 在MySQL中,启动和停止服务分别使用: ``...
- **错误信息**:“Access denied” - 这个错误通常意味着在主服务器上没有正确地为从服务器配置访问权限。 - 解决方案:重新检查`GRANT`语句中的用户名、密码以及权限是否正确配置,并确保在主服务器上执行了`...
如果你遇到`Access denied for user: 'root@localhost'`的错误,可以直接以root用户身份登录: ``` sudo mysql -u root ``` 8. **创建新的root用户或普通用户** 如果不希望使用sudo直接登录,需要创建新用户并...
这个错误通常表示"Access denied for user",即用户无权访问,通常与认证失败有关。本文将深入探讨这个问题的原因,并提供详细的解决步骤。 1. **问题描述**: 当你尝试用`mysql -u root -p`命令登录MySQL服务器时...