mysql 实现外部访问
默认状况下,出于安全考虑,mysql数据库屏蔽了远程访问功能。 然而在许多状况下,你需要在家或者从web程序去访问远端数据库服务器,这就相当麻烦了。
No.1 : 第一道关卡
1.编辑mysql的配置文件:sudo vi /etc/mysql/my.cnf 。 // ubuntu下面的
2. 确保skip-networking被删除或者屏蔽,否则不支持TCP/IP 访问
3. 设置bind-address = 210.183.7.75,替代210.183.7.75 为你的服务器地址,即电脑IP // 外网或者局域网可访问的,可以ping一下试试。 这边默认的是127.0.0.1或者localhost 。这边其实可以给出本电脑内部网段,比如10.33.42.29,这样,ping不同该网段的,都连接不了~
No.2:第二道关卡
所有用户都能外链: // root 远程用户登录用户名 pass 远程登录的密码,%是指所有用户,也可以指定段:192.168.%(这边是百分号,不是星号),表示ip前两节是这样的都可以,或者说局域网都可以
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pass' WITH GRANT OPTION;
指定 只有172.138.1.102链接的话 - -
GRANT ALL PRIVILEGES ON *.* TO 'root'@'182.118.1.102' IDENTIFIED BY 'pass' WITH GRANT OPTION; //182.118.1.102是家里面的ip地址,或者局域网的ip地址
No.3
flush privileges; //这步很重要,别忘了
搞定!!!恭喜你~~~
补充:
对于第二步有另一种方法:
show databases;
use mysql;
show tables;
describe user;
select * from user;
- mysql -u root -pvmwaremysql>use mysql;
- mysql>update user set host = '%' where user ='root';
- mysql>flush privileges;
解释比较简洁详细的:http://sech.iteye.com/blog/618858
2、解构技能,找出实现80%效果的那20%
3、不要一心二用
4、练习练习再练习!然后获得即时反馈
5、坚持,不要在低谷期放弃