1、/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart;
2、进入MySQL 数据库
mysql -u root -p
mysql>grant all privileges on *.* to root@'%' identifies by 'root';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%’:表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx’为root 用户的password;
如果提示identifies 错误,换一下 IDENTIFIED 试一下
或者
修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
mysql>
use mysql; mysql>updateuser
set
host = '%'where
user
= 'root';mysql>selecthost,
userfrom
user;mysql>
flush privileges;
vi
/etc/sysconfig/iptables
增加下面一行
-
A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重启防火墙
service iptables restart注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
本文指导如何在MySQL配置文件中修改权限设置,允许远程访问,并通过防火墙开放3306端口,确保安全有效的远程连接。
1万+

被折叠的 条评论
为什么被折叠?



