当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 无法远程登入MySQL的几种解决办法

MYSQL
mysql Load Data InFile 的用法
MSSQL output使用
mysql 性能的检查和调优方法
mysql 的load data infile
MySQL 配置文件my.cnf 例子最详细翻译
MYSQL 随机 抽取实现方法及效率分析
mysql 存储过程的问题
Mysql my.ini 配置文件详解
mysql 控制台操作
mysql 服务完全卸载技巧
mysql 数据库设计
mysql 中文乱码 解决方法集锦
MYSQL 没有完全卸载将导致其安装不成功
mysql 教程 存储过程
asp.net 将图片上传到mysql数据库的方法
绿色版 mysql 安装配置
mysql root用户的密码修改和消除
MySQL 相关的环境变量
mysql 常用命令集锦[绝对精华]
linux mysql 安装与操作

MYSQL 中的 无法远程登入MySQL的几种解决办法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 109 ::
收藏到网摘: n/a

方法一:
  尝试用MySQL Adminstrator GUI Tool登入MySQL Server,Server却回复错误讯息:Host '60-248-32-13.HINET-IP.hinet.net' is not allowed to connect to this
  MySQL Server
  这个是因为权限的问题,处理方式如下:
  shell>MySQL --user=root -p
  输入密码
  mysql>use MySQL
  MySQL>GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name].* TO [username]@[ipadd] identified by '[password]';
  [username]:远程登入的使用者代码
  [db_name]:表示欲开放给使用者的数据库称
  [password]:远程登入的使用者密码
  [ipadd]:IP地址或者IP反查后的DNS Name,此例的内容需填入'60-248-32-13.HINET-IP.hinet.net' ,包函上引号(')
  (其实就是在远端服务器上执行,地址填写本地主机的ip地址。)
  如果希望开放所有权限的话请执行:
  MySQL>update user set select_priv='Y' , Insert_priv='Y', Update_priv='Y', delete_priv='Y', Create_priv='Y', Drop_priv='Y',Reload_priv='Y', shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv='Y', references_priv='Y',Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y', Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y' where user='[username]';
  方法二:
  如何解决客户端与服务器端的连接(mysql) :xxx.xxx.xxx.xxx is not allowed to connect to this MySQL serv
  1、进入MySQL,创建一个新用户xuys:
  格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
  grant select,update,insert,delete on *.* to [email protected] identified by "xuys1234";
  查看结果,执行:
  use MySQL;
  select host,user,password from user;
  可以看到在user表中已有刚才创建的xuys用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
  将host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到MySQL服务器,建议在开发时设为%。
3、./MySQLd_safe --user-root &
  记住:对授权表的任何修改都需要重新reload,即执行第3步。
  如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在MySQL数据库的db表中插入一条记录:
  use MySQL;
  insert into db values('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
  update db set host = '%' where user = 'xuys';
  重复执行上面的第2、3步。
  方法三:
  附加fbysss解决PHPMyAdmin连接远程用户的方法:
  1.用root账户登录远程MySQL服务器,
  grant select,update,insert,delete on *.* to [email protected] identified by "sss";
  update user set host = '%' where user = 'sss';
  退出MySQL,在shell下执行
  #MySQLadmin -u root -p [password] reload
  #MySQLadmin -u root -p [password] shutdown
  #/etc/rc.d/init.d/MySQLd start
  2.修改phpMyAdmin目录下的config.inc.PHP文件,找到
  $cfg['Servers'][$i]['host'] 修改为远程服务器地址
  $cfg['Servers'][$i]['user'] 修改为sss
  $cfg['Servers'][$i]['password']修改为sss的密码
  要注意的是:grant all privilege并不能把“grant” 的权限赋给用户,如果要加,可以直接在mysql中使用use MySQL;update user set Grant_priv ='Y'来达到要求。