linux下mysql开启远程访问权限及防火墙开放3306端口

linux下mysql开启远程访问权限及防火墙开放3306端口

https://blog.csdn.net/WeakFantasy/article/details/52348829?locationNum=10

在Linux中装上mysql之后,发现windows中用navicat连接数据库失败,这是由于默认mysql的用户是没有远程访问的权限的,因此当navicat程序跟mysql数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限才能正常访问mysql数据库。

主要的有两种方法,改表法和授权法,下面将分别介绍。

 

1、登陆mysql

 

[java]
view plain
copy

  1. mysql -u root -p  

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

 

[java]
view plain
copy

  1. mysql> USE MYSQL;   
  2. mysql> UPDATE USER SET host = ‘%’ WHERE user = ‘root’;   

3、授权法:

 

[java]
view plain
copy

  1. mysql> USE MYSQL;  
  2. mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘%’ WITH GRANT OPTION //赋予任何主机访问以及修改所有数据的权限   
  3. 例如,你想root用户使用root从任何主机连接到mysql服务器的话。  
  4. GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;   
  5. 如果你想允许用户root从ip为192.168.1.123的主机连接到mysql服务器,并使用root作为密码   
  6. GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘192.168.1.123’IDENTIFIED BY ‘root’ WITH GRANT OPTION;   
  7. mysql> FLUSH PRIVILEGES //修改生效   


防火墙开放3306端口

1、打开防火墙配置文件

 

[java]
view plain
copy

  1. vi  /etc/sysconfig/iptables  

 

?

2、增加下面一行

[java]
view plain
copy

  1. -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT  

 

?

3、更改后的防火墙配置文件

 

[java]
view plain
copy

  1. # Firewall configuration written by system-config-firewall  
  2. # Manual customization of this file is not recommended.  
  3. *filter  
  4. :INPUT ACCEPT [0:0]  
  5. :FORWARD ACCEPT [0:0]  
  6. :OUTPUT ACCEPT [0:0]  
  7. -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT  
  8. -A INPUT -p icmp -j ACCEPT  
  9. -A INPUT -i lo -j ACCEPT  
  10. -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT  
  11. -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT  
  12. -A INPUT -j REJECT –reject-with icmp-host-prohibited  
  13. -A FORWARD -j REJECT –reject-with icmp-host-prohibited  
  14.   
  15. COMMIT  

4、保存后重启防火墙

[java]
view plain
copy

  1. service  iptables restart  

 

?

注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前,否则将仍不能进行访问。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113372.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 范围管理_范围管理的获取方法

    范围管理_范围管理的获取方法一、范围管理的基本理解(1)包括确保项目做且只做所需的全部工作,已成功完成项目的各个过程。(2)项目范围管理需要做的工作》明确项目边界。》对项目执行工作进行监控。》防止项目范围发生蔓延。指对时间、成本和资源做相应调整,未经控制的产品或项目范围的扩大。(3)产品范围和项目范围》产品范围:产品、服务或结果的特性和功能。》项目范围:是否完成以项目管理计划、项目范围说明书、WBS、以及WBS字典作为衡量标准。产品范围是否完成以产品需求说明书作为衡量标准。二、规划范围管理1、项目范围管理计划的内

  • exe免杀c语言,CobaltStrike shellcode免杀捆绑exe思路[通俗易懂]

    exe免杀c语言,CobaltStrike shellcode免杀捆绑exe思路[通俗易懂]这里演示的方式为shellcode框架加载自解压1.生成shellcode2.c加载(随便拉的加载器)#include#include#pragmacomment(linker,”/subsystem:\”windows\”/entry:\”mainCRTStartup\””)unsignedcharshellcode[]=”\xfc\xe8\x89\x00\x00\x00\x60\…

  • 数据结构-栈和队列

    数据结构-栈和队列1.栈1.1栈的定义栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示:结论:后进先出(LastInFirstOut),简称为LIFO线性表。栈的基本运算有六种:构造空栈:InitStack(S)、判栈空:StackEmpty(S)、判栈满:StackFull(S)、进栈:Push(S,x

  • snmp的trap_web scraping

    snmp的trap_web scrapingSNMP(SimpleNetworkManagementProtocol)trap是一种很有用,但是也容易让人难以理解的协议。虽然名字叫做简单网络管理协议,但实际上并不是字面上的意思,尤其是看到.1.3.6.1.2.1.1.1.0这样一串串诡异的数字时候,就会有点让人崩溃。不管怎么说,现在所有的网络设备的都需要支持SNMP。而且现在还有很多的开源的网络管理系统,所以就有利于我们来学习和

  • 多个UpdatePanel控件相互引发刷新的使用

    多个UpdatePanel控件相互引发刷新的使用ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果。其中的UpdatePanel就是设置页面中异 步局部更新区域,它必须依赖于ScriptManager存在,因为ScriptManger控件提供了客户端脚本生成与管理UpdatePanel的功 能。几个重要的属性:    ScriptManager控件的EnablePartialRendering属

  • 左值和右值的理解[通俗易懂]

    关于左值和右值的理解:①从位置来讲:eg:a=b;a在左边,a为左值,那在右边的b就是右值(前提是语句合法,比如说a+25=b;则不合法) ②深层次讲:左值(L_value,L理解为Location)为地址值右值(R_value,R理解为Read)为数据值eg:a=b;即将b(右值–数据值)赋值给a(左值–地址值) ③再通俗一点讲:左值就是…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号