数据库工作笔记008---mysql开启远程访问权限_ 1042 Can't get hostname for your address_Access denied for user 'root'@'

   JAVA技术交流QQ群:170933152   

 1. 
  //登录数据库
  mysql -u root -pvmwaremysql>use mysql; 
  //%为所有ip都可以远程访问
  mysql>update user set host = '%' where user = 'root';  
   //或直接添加一条语句也行     
   mysql>insert into user (host,user,password) values('192.168.0.51','root',password('123'));  
  //查看一下修改
   mysql>select host, user from user;    
   //推送设置到内存或重启服务器也行
  mysql>FLUSH PRIVILEGES 
 
  2.  
 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
  如果是固定ip就这么写
 grant all privileges on *.* to 'root'@'192.168.0.49'identified by '123' with grant option;
//推送设置到内存或重启服务器也行
  mysql>FLUSH PRIVILEGES 

 这两天在MyEclipse中开发Web项目时,连接MYSQL数据库,出现问题:Access denied for user 'root'@'localhost'(using password:YES)。

        经查找资料发现是root帐户默认不开放远程访问权限,所以需要修改一下相关权限。

      解决方案:

  1. 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。(WIN7默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
  2. 重启MySQL服务。
  3. 通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。(WIN7默认安装,BIN目录为:C:\Program Files\MySQL\MySQL Server 5.6\bin)
  4. 执行“use mysql;”,使用mysql数据库。
  5. 执行“update user set password=PASSWORD("123456") where user='root';”(修改root的密码)
  6. 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
  7. 重启MySQL服务。
  8. 在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。

      完成以上步骤,MyEclipse也可成功连接MySQL了。

 

当您遇到 "Access denied for user 'root'@'BF-202303210906'(using password: YES)" 这样的错误时,这通常表示MySQL服务器拒绝了用 'root' 用户名从 'BF-202303210906' 这个客户端(可能是IP地址或主机名)尝试登录,并且该用户已经尝试使用密码。以下是几种可能的解决方案: 1. **检查用户名和密码**: 确保提供的 'root' 用户名和密码是正确的。如果之前修改过密码,请使用新的密码尝试登录。 2. **验证客户端访问**: 检查 MySQL 的 `my.cnf` 或者 `mysql.cnf` 文件中,确认允许从 'BF-202303210906' 地址访问的设置。`bind-address` 或 `allowed_connections` 配置可能影响了允许连接的来源。 3. **修改配置**: 如果 'BF-202303210906' 是一个具体的 IP 地址,可以在配置文件中将其添加到 `bind-address` 或 `safe_client_host` 设置中。如果是 hostname,则可能需要在 hosts文件中添加映射,或者在 MySQL 配置中指定 `skip-name-resolve`。 4. **临时禁用密码验证**: 在 `mysql` 命令行下执行 `SET PASSWORD FOR 'root'@'localhost' = ''`,然后重启服务。这会临时禁用密码验证,但请注意这样做不安全,仅适用于调试。 5. **重启 MySQL 服务**: 有时候,MySQL 服务可能出现临时的问题,重启服务可能有助于恢复。 6. **权限问题**: 确认当前用户是否有足够的权限进行特定操作。如果不是 root 用户,可能需要切换到 root 或者赋予适当的权限给正确的用户。 7. **日志查看**: 查看 MySQL 错误日志(通常是 `/var/log/mysql/error.log` 或类似路径),了解更详细的错误信息,有助于找到问题根源。 相关问题-- 1. 如何在 MySQL 中永久改变密码验证设置? 2. MySQL 的安全选项有哪些会影响远程访问? 3. 如何查看 MySQL 错误日志以获取更多信息?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值