前天无聊在虚拟机中的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连接~成功~撒花~~~
相关推荐
本文将详述如何解决虚拟机Linux系统上MySQL数据库无法远程访问的问题,提供两种实用的解决方案。 解决方法一: 1. 首先,登录MySQL数据库。在Linux终端输入`mysql -u root -p`,系统会提示输入root用户的密码。...
本教程详细介绍了如何在XP主机上使用MySQL-Front访问CentOS 6.4虚拟机中的MySQL数据库。在开始之前,确保你的主机XP系统和CentOS 6.4虚拟机都已准备好。虚拟机内存至少需要512MB,但为了更好的体验,建议设置为1GB或...
- **核心概念**:本标题涉及两个主要概念——虚拟机环境下的MySQL安装与配置,以及如何使主机能够访问虚拟机内的MySQL数据库。 #### 描述解析 - **描述内容**:“在虚拟机上安装MySQL,在主机上访问。在虚拟机上...
通过上述步骤,我们成功地实现了VMware环境下Linux系统中MySQL数据库的远程访问功能。这对于跨平台开发团队来说非常有用,不仅能够提高工作效率,还能降低维护成本。希望本教程能对你有所帮助。
为了解决这一问题,教程介绍了SQLAlchemy-migrate工具,这是一个数据库迁移的解决方案,允许开发者在数据库结构变更时进行版本控制,而不需要手动迁移数据。 在配置部分,教程指导我们如何配置Flask应用程序使用...
在Android平台上安装MySQL并从Android应用访问MySQL数据库是一项复杂但重要的任务,这使得移动应用能够存储和处理大量的数据。以下是对这个主题的详细说明: **一、安装MySQL服务器** 1. **选择合适的MySQL版本**:...
### Linux中MySQL安装-glibc方式 #### 知识点概览 本文将详细介绍在Linux环境下通过glibc方式安装MySQL的过程,包括安装前的环境准备、具体安装步骤以及配置过程等。此外,还将介绍一些基本的Linux命令,这些命令...
在Linux系统安装完成后,我们需要安装MySQL数据库。这可以通过运行`sudo yum install mysql-server`命令来实现。安装完成后,启动MySQL服务并设置root用户的密码。为了确保安全,还需要执行`mysql_secure_...
在Linux服务器上,MySQL数据库是广泛使用的数据存储和管理工具。然而,为了能够从远程位置访问MySQL服务,需要进行特定的配置步骤。以下是一个详细指南,涵盖了如何开启Linux服务器中的MySQL远程连接。 首先,要...
- **初始化数据库**:运行`mysqld --initialize`初始化MySQL数据库。 - **更改文件所有者**:执行`chown -R mysql:mysql /var/lib/mysql`确保MySQL服务能正确读取数据。 - **启动MySQL服务**:使用`systemctl start ...
6. 如果需要远程访问MySQL,还需要开放防火墙端口并修改MySQL配置。在`/etc/mysql/my.cnf`中添加或修改: ``` bind-address = 0.0.0.0 ``` 然后重启MySQL服务: ``` sudo systemctl restart mysqld ``` 7. 授权允许...
### RHEL 下安装 MySQL 的两种方法 #### 一、背景介绍 在 Red Hat Enterprise Linux (RHEL) 系统上安装 MySQL 数据库是...以上两种方法均可解决 MySQL 远程访问的问题,具体采用哪种方式取决于实际需求和安全性考虑。
为了实现远程访问MySQL,通常需要创建一个具有远程访问权限的root用户: 1. 创建远程访问的root用户: ```sql create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码'; ``` 2. 给远程访问...
Navicat 是一个流行的数据库管理工具,可以连接到远程的 MySQL 服务。要使用 Navicat 连接虚拟机处理,需要遵循以下步骤: 1. 连接到虚拟机:首先,需要连接到虚拟机,例如使用 SSH 客户端连接到虚拟机。 2. 关闭...
在本文中,我们将详细讲解如何在Linux环境下安装JDK、Tomcat和MySQL,并通过Mac进行远程访问。首先,确保你的Linux服务器是阿里云上的CentOS 7.4 64位(基于RedHat),并且你的本地机器运行的是macOS High Sierra。 ...
三、远程访问与数据库操作 1. 使用Navicat客户端:在Windows系统中,使用Navicat工具连接到CentOS7上的MySQL服务器,需要输入服务器IP、端口、用户名和密码。 2. 数据库创建与测试:在连接成功后,创建名为db_test的...
本教程将详述如何在Linux环境下安装Java开发工具包(JDK)、Tomcat应用服务器以及MySQL数据库,这三者是许多Web应用程序开发的基础。 首先,让我们关注Java开发工具包(JDK)的安装。JDK是Java编程语言的核心组件,...
【大数据虚拟机Linux VM复习题库】主要涵盖了大数据处理、Hadoop生态系统中的Hive以及Linux虚拟机相关的知识。以下是对这些知识点的详细说明: 1. **数据仓库与数据库系统的关系**: 数据仓库是一个用于报告和数据...