创建mysql用户:


CREATE USER 'username'@'host' IDENTIFIED BY 'password';


1、授权法(前提要建立该用户)

在本地MySQL下执行以下命令:

语法:

grant  权限  on  数据库*数据库表  to  用户名@登陆主机  identified  by  "密码";

实例:

(1)、允许ip为192.168.1.80 的电脑以账户“wml” 密码 “111111”  访问本地数据库且拥有该数据库的所有权限

grant all privileges on *.* to wml@192.168.1.80 identified by "111111";



(2)、允许所有电脑以账户“wml” 密码 “111111”  访问本地数据库且拥有该数据库的所有权限


grant all privileges on *.* to wml@'%' identified by "111111";


(3)、允许ip为192.168.1.80 的电脑以账户“wml” 密码 “111111”  访问本地数据库且只拥有该数据库的数据查询和插入权限

grant select,insert   on  *.*  to wml@192.168.1.80  identified by "111111";



2、改表法 
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 

mysql -u root -p 
use mysql;
update user set host = '%' where user = 'root';
select host, user from user;


//update  user set host = '192.168.0.1' where user = 'root'

这样即允许局域网中所有电脑以账户“root” 访问本地数据库






本地数据库设置完成后,远程电脑可以通过以下命令访问本地数据库:(次ip为本地主机IP)


mysql  -h  192.168.1.184  -uwml  -p111111;


注意:


防火墙开放3306端口


开启方法:


1、打开防火墙配置文件

vi /etc/sysconfig/iptables
2、增加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重启防火墙

service iptables restart
注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前