** MySQL ** ** :无法远程登入 ** ** MySQL Server **
尝试用 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]';
[ 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 **
这两天搞 MySQL, 遇到一些问题,怕忘掉,放上来,留着备用
这个方法是在 google 上搜出来的,不过他是转自 CSDN , ^_^
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 服务器,建议在开发时设为 % 。
update user set host = '%' where user = 'xuys';
2 、 ./mysqladmin -uroot -p21century reload
./mysqladmin -uroot -p21century shutdown
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 步。