Oracle 19 数据库只能127.0.0.1连接,无法远程通过IP访问

解决Oracle数据库连接问题:从localhost到实际IP的迁移指南
本文讲述了如何解决Oracle数据库连接问题,通过修改listener.ora文件中的主机名,包括步骤如打开文件、更改连接串、重启服务等,确保从本地连接到实际IP的成功

今天使用Oracle时遇到一个问题,连接字符串中IP配置成127.0.0.1时可能正常访问数据库,当配置成实际IP地址时连接数据库失败。然后 telnet IP 1521 失败。

解决方案:

1. 打开listener.ora文件(位于Oracle数据库安装目录network\admin 文件夹);

2. 将 LISTENER连接串中的LOCALHOST改成本机电脑名称;

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

修改后

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-MAOMAOCHONG)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

3. 保存并关闭文件;

4. 打开本机服务管理工具,找到Oracle网络监听服务(OracleOraDB19Home1TNSListener)并重启。

5. 操作完成,祝您好运!

要配置禅道(ZenTao)系统以连接远程数据库(MySQL)或其他IP地址的数据库,需要进行一系列操作,包括数据库用户的配置、权限管理以及禅道本身的数据库连接设置。以下是详细的配置步骤: ### 修改数据库用户权限以支持远程访问 1. **创建或修改数据库用户以允许远程连接** 如果数据库是MySQL或MariaDB,可以使用以下命令创建一个允许从任意IP地址连接的用户: ```sql CREATE USER 'zentao'@'%' IDENTIFIED BY 'your_password'; ``` 其中,`zentao`是禅道默认使用数据库用户名,`%`表示允许从任意IP地址连接,`your_password`是该用户的密码。 2. **授予用户全局权限** 为了确保禅道能够正常操作数据库,需授予该用户全局权限: ```sql GRANT ALL PRIVILEGES ON *.* TO 'zentao'@'%' WITH GRANT OPTION; ``` 3. **刷新权限** 执行完权限修改后,使用以下命令刷新权限以使更改生效: ```sql FLUSH PRIVILEGES; ``` 4. **检查用户权限配置** 可以通过以下命令验证用户权限是否正确设置: ```sql SELECT user, host FROM user WHERE user = 'zentao'; ``` 确保输出中包含`zentao`用户的`host`字段为`%`,表示允许从任意主机连接[^1]。 ### 配置防火墙以允许数据库端口访问 1. **开放3306端口** 数据库默认使用3306端口,需确保该端口在远程数据库服务器的防火墙中开放。对于Linux系统,可以使用以下命令开放端口: ```bash sudo ufw allow 3306/tcp ``` 2. **重启防火墙服务** 修改防火墙规则后,重启防火墙服务以使更改生效: ```bash sudo systemctl restart ufw ``` ### 修改禅道的数据库连接配置 1. **编辑禅道的数据库配置文件** 禅道的数据库连接信息通常存储在`/opt/zbox/app/zentao/config/my.php`文件中。需要修改该文件中的数据库连接参数,确保指向远程数据库服务器的IP地址和端口。例如: ```php $config->db->host = 'remote_database_ip'; // 远程数据库服务器的IP地址 $config->db->port = '3306'; // 数据库端口 $config->db->user = 'zentao'; // 数据库用户名 $config->db->password = 'your_password'; // 数据库密码 $config->db->name = 'zentao'; // 数据库名称 ``` 其中,`remote_database_ip`应替换为远程数据库服务器的实际IP地址[^2]。 2. **重启禅道服务** 修改完配置文件后,重启禅道服务以确保新的配置生效。可以使用以下命令重启服务: ```bash /opt/zbox/zbox restart ``` ### 验证连接 1. **测试数据库连接** 可以在禅道服务器上使用以下命令测试与远程数据库连接: ```bash mysql -uzentao -hremote_database_ip -P3306 -p ``` 其中,`remote_database_ip`是远程数据库服务器的IP地址,`-P`指定数据库端口,`-p`表示需要输入密码。 2. **检查禅道是否正常运行** 打开浏览器,访问禅道的Web界面,确认其能够正常加载且没有数据库连接错误提示。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值