Linux上mysql开启远程连接方法_重庆幸运农场开到晚上几点

时间:2016-03-26 12:06来源:未知 作者:Linux先生 举报 点击:
新安装的MySQL是默认不开户远程访问权限的,也就不能外部连接MySQL。这样对想远程调用MySQL的数据很不方便。下面我们来看下如何设置允许远程连接MySQL数据库。
还没有安装Mysql的可以参考怎么在阿里云Linux主机上安装mysql
一般来说mysql安装时都是关闭远程连接的,但是如果一台电脑需要多个网站连接,而这些网站又不是自己服务器上,那么就需要把mysql数据库的远程开启,开启mysql远程登录的用户都是存储在mysql数据库中的user表中。默认情况下,Mysql为了安全起见是不支持远程访问和连接的。不过有的时候,工作需要你要从家里或者网页来访问Mysql,本文就介绍下怎么在Linux系统上给Mysql创建一个远程连接的账户,支持远程访问.


任务: MySQL服务远程访问权限

本文地址:http://www.kooct.com/install/faq/20160324_how_linux_5103.html
文章摘要:Linux上mysql开启远程连接方法,电影界布尔未成熟,疯话铃鼓宅中图大。

你需要执行下面的这些命令,让Mysql运行支持远程连接.

步骤# 1: 登录到SSH 

首先通过ssh登录到Mysql数据库服务器去,然后使用root进入Mysql:

ssh user@server1.cyberciti.biz
### login as the root using su or sudo ##
su
#sudo -s

或者直接使用ssh登录

ssh root@server1.cyberciti.biz

步骤# 2: E编辑my.cnf文件

连接成功之后,我们就来编辑Mysql的配置文件:my.cnf 

  • 如果你的系统是Debian Linux 那文件位置是:/etc/mysql/my.cnf .
  • 如果你的系统是 Red Hat Linux/Fedora/Centos Linux 那文件位置是: /etc/my..
  • 如果你的系统是 FreeBSD 那文件位置是: /var/db/mysql/my.cnf .

然后我们就编辑/etc/my.cnf, 执行:
# vi /etc/my.cnf

步骤 # 3: 打开编辑后,我们找到这行(vi里面,先按下esc,然后输入/[mysqld],再enter,即可查找,按n可以看下一个):

[mysqld] 

然后把跳过的IP设置好,让帮到的IP为你自己要进入连接的IP,

bind-address=YOUR-SERVER-IP

比如,你的MySQL 服务器IP是 65.55.55.2 ,那修改后大概是这样:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 65.55.55.2
# skip-networking
....
..
....

这里的,

  • bind-address: 绑定的IP
  • skip-networking : 不再监听TCP/IP 连接. 所有的Mysql交互都要通过Unix sockets. 如果你只想本地请求的话强烈建议开启,因为我们现在是开启远程连接,所以在这里我们就给注释掉,在前面加上#号就可以了.

步骤# 4 保存文件重启Mysql服务

如果是Debian / Ubuntu Linux系统,输入下面的命令重启Mysql服务
# /etc/init.d/mysql restart
如果是RHEL / CentOS / Fedora / Scientific Linux系统,输入下面的命令重启Mysql服务
# /etc/init.d/mysqld restart
如果是FreeBSD系统,输入下面的命令重启Mysql服务
# /usr/local/etc/rc.d/mysql-server stop
# /usr/local/etc/rc.d/mysql-server start

或者
# /usr/local/etc/rc.d/mysql-server restart

步骤# 5 给远程IP授权

连接到Mysql
$ mysql -u root -p mysql

那我们就授权给新的数据库

我们想远程IP为202.54.10.20,重庆幸运农场开到晚上几点:通过Mysql用户bar访问数据库foo,那我们需要在Mysql(mysql> prompt)下输入:

mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD';

那怎么给已存在的库授权呢?

加入你需要从远程IP202.54.10.20通过Mysql用户webadmin访问webdb库,那命令就是这样的了

mysql> update db set Host='202.54.10.20' where Db='webdb';
mysql> update user set Host='202.54.10.20' where user='webadmin';

步骤# 6: 退出MySQL

退出Mysql,使用:mysql> exit

步骤# 7: 打开防火墙3306端口

我们需要打开iptables或者BSD的pf防火墙3306 TCP端口

通用Mysql3306端口的iptables(vi /etc/sysconfig/iptables)防火墙规则

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

或者你只允许web那台服务器(IP为10.5.1.3)可以访问:

/sbin/iptables -A INPUT -i eth0 -s 10.5.1.3 -p tcp --destination-port 3306 -j ACCEPT

或者只允许局域网192.168.1.0/24段访问

/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT

 最后重启防火墙使配置生效(RHEL / CentOS):
# service iptables save
#或者是
# /etc/init.d/iptables restart

下面是一个简单的FreeBSD / OpenBSD / NetBSD pf 防火墙规则(vi /etc/pf.conf)

通用BSD系统打开3306端口:

pass in on $ext_if proto tcp from any to any port 3306

或者只允许web服务器(IP为10.5.1.3)等访问

pass in on $ext_if proto tcp from 10.5.1.3 to any port 3306  flags S/SA synproxy state

步骤# 8: 测试远程连接

从你自己的机器上测试连接:
$ mysql -u webadmin –h 65.55.55.2 –p
参数说明,

  • -u webadmin: webadmin 是Mysql的用户名
  • -h IP或者主机名: 65.55.55.2 是MySQL的IP或正式主机域名
  • -p :弹出输入密码窗口

还可以使用telnet或nc命令来测试3306连接:
$ echo X | telnet -e X 65.55.55.2 3306
或NC
$ nc -z -w1 65.55.55.2 3306
输出结果:

Connection to 65.55.55.2 3306 port [tcp/mysql] succeeded!
推荐内容
重庆幸运农场胆拖 幸运农场交流群746999 重庆幸运农场有陷阱 重庆幸运农场开到几点 幸运农场三连中走
幸运农场开到晚上几点 幸运农场复式投注一览表 重庆市幸运农场走势图 幸运农场10注能中多少 qq农场微信公众号暗号
手机幸运农场官方网站 关键词排名报价 重庆幸运农场开奖走势图 幸运农场正码买法 幸运农场走势图三连中
幸运农场计划群 3d试机号 重庆幸运农场858cp点vip 农场管理系统
内蒙古十一选五开奖结果 排列5开奖 赛车总动员1国语免费 极速时时彩人工计划网 快乐8中奖方法
长春赛车9.7pk10微信群 广西快三开奖玩法 时时彩100本金十期方案 重庆时时彩官方网 加拿大卑诗快乐8计划
湖南快乐十分预测 体彩11选五开奖结果 青海十一选五走势图带连线 球探网比分直播 赌场为什么不让算牌
上海时时乐2码 免费的重庆时时彩软件 内蒙古快三走势图大彩网 时时彩是人为控制 开奖结果