Linux中开启mysql远程访问功能

为了给服务器一个真实的运行环境,今天在内网中部署了一台Ubuntu Linux服务器,其中最头疼的就是mysql的安装,

apt下载更新的速度太慢了,于是就自行编译了一下mysql的源码,具体的编译方法可以参考网上的一些资料吧,这里只

对如何开始mysql的远程访问功能做个简单的讲述:

(1)确认一下3306是否对外开放,mysql默认状态下是不开放对外访问功能的。查看的办法如下:

:

1.~# netstat -an | grep 3306
       0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 
  

1.# Instead of skip-networking the default is now to listen only on   
2. # localhost which is more compatible and is not less secure.   
3.bind-address  = 127.0.0.1 
将bind-address注释掉,或者改成你想要使用的客户端主机IP


(2)确认客户端用户是否具有访问权限。 
为了让访问mysql的客户端的用户有访问权限,我们可以通过如下方式为用户进行授权:
msql>grant all on *.* to user_name@'%' identified by 'user_pa
ssword'; 
直接cop上面蓝色部分的代码执行即可,无需修改。 
上面的命令授予的用户权限可以访问mysql中的任意数据库(database)和表(table)。
完成上面的两个步骤,重启mysql即可在远程登陆mysql服务器了。
Mysql的重启命令如下:
1.sudo /etc/init.d/mysql restart  
上面只是简单的一些介绍,
不能包治百病,
具体的情况还需要根据自己的运行环
境来定,希望对大家有所帮助。
 PS:需要注意了,如果有童鞋是contos的linux版本,那么以上的步骤还不足以解决问题,centos防火墙是默认不允许访问的。所有需要在策略中开启3306端口。具体如何参考我对tomcate的端口开发http://blog.sina.com.cn/s/blog_ae8c692e0101gfxx.html
然后在数据库中执行如下命令:
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
  flush privileges;

上面的是开启的IP 192.168.0.1的,如要开启所有的,用%代替IP

然后重启,搞定。亲,如果解决了你的问题,记得关注噢