mysql在Linux环境下开启远程访问权限和开放3306端口

来源:互联网 发布:阿里云客服一天多少钱 编辑:程序博客网 时间:2024/05/18 10:40
一:开启mysql远程访问权限。  

     默认mysql的用户是没有远程访问的权限的,那么当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。一般有改表和授权两种方法来实现。我习惯于改表这种方法(当然这种也是最简单的),如果你说我就喜欢授权那种方法,比较有挑战力,那你就勇敢的去探索吧。去吧,皮卡丘。

    1.登录mysql。( mysql -uroot -p   然后回车输入密码 )


    2.修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。

    use mysql; 
    update user set host = '%' where user ='root';
    select host,user from user;
    flush privileges;

附:另外还有一种改表发,比这个实用。当你刚刚安装完mysql。要改密码并且要远程登录权限。使用这个下面的方法绝对是不二的选择。
set global validate_password_policy=0;
set global validate_password_length=1;
set global validate_password_mixed_case_count=2;
alter user 'root'@'localhost' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;

mysql设置密码是有三种策略的,选相应的策略设置对应的难度。倒数第二句代表设置远程访问权限并给定密码。

二:防火墙开放3306端口。
  1.打开防火墙配置文件。(注意:Linux默认的防火墙是firewalld,我用的是iptables.这儿只介绍我用的。不管你用的什么防火墙,原理都是一样的,打开防火墙配置文件,里面有开放22端口的哪行代码,你复制一条,粘贴在下方,改下端口就OK了,然后重启防火墙,大功告成)
2.增加下面一行。(注意:增加3306端口的语句要放在 icmp-host-prohibited 之前)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
附:我防火墙配置文件是这样子的:


3.重启防火墙。(重启是使刚刚改过的配置文件生效)
service iptables restart




     

 

阅读全文
0 0
原创粉丝点击