虚拟机无法访问主机mysql_解决虚拟机linux端mysql数据库无法远程访问
前天无聊在虚拟机中的CentOS上装了一个mysql玩玩,突然想用jdbc连接用java操作下数据库,可是怎么都连接不上,具体情况为:
1.ping 192.168.16.128 成功
2.telnet 192.168.16.128 3306 拒绝访问 在3306端口,可见CentOS防火墙屏蔽了3306端口
修改方式为:
切换到root用户
打开iptables的配置文件:vi /etc/sysconfig/iptables
修改CentOS防火墙时注意:一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口
内容如下:
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT
可见我的防火墙只开了22端口,因此我们添加3306端口
修改CentOS防火墙需要注意的是,你必须根据自己服务器的情况来修改这个文件。
举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
我们添加
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
全部修改完之后重启iptables:service iptables restart
你可以验证一下是否规则都已经生效:iptables -L
这样,我们就完成了CentOS防火墙的设置修改。
这时我们通过telnet 192.168.16.128 3306 成功
但此时我们仍不能访问,因为mysql没有授权远程用户
如,你想root2使用root2从任何主机连接到mysql服务器的话。
切换到mysql中
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root2'@'%'IDENTIFIED BY 'root2' WITH GRANT OPTION;
或者如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
然后执行:
mysql>FLUSH RIVILEGES;
mysql>exit;
使修改生效.
这时我们在远程:mysql -h 192.168.16.128 -u root2 -p 输入密码 root2 成功~
用jdbc连接~成功~撒花~~~
虚拟机无法访问主机mysql_解决虚拟机linux端mysql数据库无法远程访问相关推荐
- 虚拟机无法访问主机mysql_虚拟机linux端mysql数据库无法远程访问的解决办法
对于解决虚拟机linux端mysql数据库无法远程访问的办法一种,以下内容我给大家整理了两种解决方案,具体内容如下: 解决方法一: 1. 在控制台执行 mysql -u root -p mysql,C ...
- 解决虚拟机linux端mysql数据库无法远程访问
解决虚拟机linux端mysql数据库无法远程访问 1. 在控制台执行 mysql -u root -p mysql,CentOS系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台 ...
- 虚拟机无法访问主机mysql_主机无法连接虚拟机上的mysql
昨天在虚拟机上搭建web项目环境时,想在主机上使用navicat访问虚拟机上的mysql数据库,报错大概是"hostxxx is not allowed to this mysql serv ...
- 虚拟机ping不通本地_虚拟机ping不通主机怎么解决
很多小伙伴在使用电脑中会碰到各种问题,有小伙伴的虚拟机ping不通主机,这个问题是比较麻烦的,那怎么解决呢,西西小编来为大家介绍. 虚拟机ping不通主机怎么解决 一.引出问题 1.查看虚拟机IP地址 ...
- linux服务器安装mysql数据库并通过本地Navicat连接访问远程mysq数据库
之前因为项目需要,所以自己在linux服务器上安装了mysql数据库,但是自己在安装mysql数据库的时候也是遇到了很多的问题,所以特此在本博客中介绍一下如何在linux服务器上进行mysql数据库的 ...
- linux连接mysql数据库出现1405错误原因的一些解决方法
linux连接mysql数据库出现1405错误原因的一些解决方法 在使用yum于腾讯云服务器安装了mysql之后,从家里的电脑尝试连接mysql数据库的时候,就出现了1405错误,经过我不断地查找资料 ...
- 数据库sql linux,linux安装mysql数据库
linux安装mysql数据库 环境如下: Linux:CentOS release 6.7(Final) 64位 Mysql:mysql-5.6.31-linux-glibc2.5-x86_64.t ...
- linux mysql常用基本操作,Linux下MySQL数据库常用基本操作 一
Linux下MySQL数据库常用基本操作 一 0.登录数据库 mysql -u root -p 1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 ...
- Linux下MySQL数据库主从同步配置
操作系统:CentOS 6.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说 ...
最新文章
- Python使用过滤器(filter)进行图像模糊处理
- Private Data Objects, 私密数据对象,基于TEE、智能合约和分布式账本的可信计算
- 监控录像帮忙找回医院被偷的女婴
- vs2003打开项目错误
- 生活的花环:看雷加对文学的回顾
- 基于.NET平台的分层架构实战(二)——需求分析与数据库设计
- 知识图谱组队学习Task05——图数据库查询
- jsf 导航_JSF动作方法导航示例教程– from-action标记
- Xamarin.Android AlertDialog中的EditText打上去字为什么不显示?也没有光标闪烁
- Docker容器中运行Ubuntu系统
- [转载+整理]Nginx Location匹配规则
- OCR之表格结构识别综述
- 阿里巴巴android开发规范,阿里巴巴开发手册|阿里巴巴Android开发手册 PDF电子版_最火软件站...
- python-静态网页爬取
- lsof恢复被rm -rf命令删除的文件
- 安卓java模拟器跳过付费,不用花钱买android手机,电脑端Android模拟器安装使用教程...
- 5G通讯的认知与见解
- matlab怎样编写延时函数,编写延时函数的简单方法
- PMP考试通过有多简单
- 虚拟化VMware简介6——VMotion 简介
热门文章
- Matter App提供了一个由BCH推动的长格式博客平
- tomcat与iis公用80端口(已经发布.net项目现在开发Java项目时tomcat在eclipse中localhost:8080打不开问题)...
- mysqlbinlog flashback 使用最佳实践
- 字符串分隔 -连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。...
- 可控制转速CSS3旋转风车特效
- 前端开发我为什么选择cordova
- 项目管理中常用到的简便工具
- hadoop hbase维护问题总结
- 分享10个原生JavaScript技巧
- 05、HttpServletRequest