linux下安装mysql后默认是不打开远程连接的,很多情况都需要远程连接。这里介绍一种方法:
- mysql –u root –p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称
在mysql控制台执行:
- grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
- # root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
- flush privileges; # 重载系统权限
- exit;
允许3306端口
- iptables –I INPUT –p tcp –m state —state NEW –m tcp —dport 3306 –j ACCEPT
- # 查看规则是否生效
- iptables –L –n # 或者: service iptables status
- # 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
- iptables –D INPUT –p tcp –m state —state NEW –m tcp —dport 3306 –j ACCEPT
PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
介绍一下:
在mysql控制台执行命令中的 'root'@'%' 可以这样理解: root是用户名,%是主机名或IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的IP地址;'MyPassword'是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权限,GRANT具体操作详情见:
如果还是连接bushang不上,请检查防火墙:
/etc/init.d/iptables status
会得到一系列信息,说明防火墙开着。则关闭:
/etc/init.d/iptables stop
永久关闭::
chkconfig –level 35 iptables off
再次连接,
如需转载请注明: 转载自26点的博客
本文链接地址: linux下mysql开启远程连接
转载请注明:26点的博客 » linux下mysql开启远程连接