mysql - 设置独立的服务器.并且指定访问范围

  1. apt-get install mysql-server mysql-client

  2. 修改端口: 编辑 /etc/mysql/my.cnf 找到里面的port, 修改, 例如改成33060

  3. 找到里面对应的 bind-address, 改成 0.0.0.0 (这样允许所有ip访问)

  4. 重启. $ sudo service mysql restart

  5. 回到VM的 WEB界面的控制台,添加 防火墙规则, 打开 33060 这个端口. (方向是 in ). 如果是google cloud, 还需要设置该防火墙对于哪些ip range 生效. 例如10.140.0.0/24

这一步也可以单独针对mysql 所在的linux server来设置(未验证) 参考: http://jpuyy.com/2013/07/mysql-bind-multi-address.html

在访问3306端口的主机中,只允许192.168.1.4-6,其他ip一律DROP掉

/sbin/iptables -A INPUT -p tcp -s 192.168.1.4 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.5 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.6 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.4 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.5 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.6 -j DROP
保存防火墙规则

service iptables save

  1. 进入通局域网下的另一台机器. 使用mysql连接一下.

$ mysql -u root -p --port 35888 -h 192.168.1.100 ( 这个是 mysql server ip )

会发现; Host ‘192.168.0.1’ is not allowed to connect to this MySQL serverConnection closed by foreign host.

这个是由于该用户并没有在mysql中 绑定ip造成的. 不用慌.

  1. 进入到mysql.

建立数据库 和 用户:

mysql> CREATE DATABASE IF NOT EXISTS your_db_name default charset utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on your_db_name.* to ‘your_db_user_name’@‘10.140.0.%’ identified by ‘$2323984ksdhfa’;
Query OK, 0 rows affected, 1 warning (0.00 sec)

  1. 就可以使用啦!
  2. 最后推荐一下葵芳IDChttp://www.chinahkidc.net
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值