为什么访问数据库要通过端口?

数据库大家都知道。

我们现在使用的数据库都是关系型数据库,说白了就是一张表,该表有各种信息。

再简化一点就是一个文件,用户提供一个查询的语句,那么该表返回一个你所查询的结果。


假设有个程序tinysql.exe,他可以管理数据库文件a.db,那么你在a.db调用一个sql做相关的查询可以做如下表示。


tinysql.exe a.db a.sql

这表示让tinysql.exe在a.db里面执行a.sql并返回一个查询结果就ok了。


但是如果大家用过现在的mysql就知道了,我们并不是这样访问数据的,而是提供一个数据所在主机的ip地址和端口。

为什么要这样?


那得先说说上面最原始访问数据库的缺点:1. 只能本地访问,2.无法多线程


但是使用了ip地址和端口后,任何只要和本主机联网的机器都可以访问。

这样数据库就成了一个单独的服务器了,一个前台线程负责监听,一个后台线程负责处理实际的sql语句。

另外为了安全,我们还可以要求用户提供一个用户名和密码。这样,应用程序访问数据库的方式就高级了很多。




### 修改神通数据库默认端口号的配置方法 神通数据库的默认端口号为`2003`,但可以通过修改配置文件或启动参数来更改此端口。以下是具体的配置方法: #### 1. 修改配置文件 神通数据库的主要配置文件通常位于安装目录下的`conf`文件夹中,文件名为`signal.conf`。此文件包含数据库的基本配置信息,包括监听地址和端口号。 - 打开`signal.conf`文件,找到与端口相关的配置项。通常,该项类似于以下内容: ```properties port=2003 ``` - 将`port`的值更改为所需的端口号。例如,若希望使用端口`3006`,则将上述行修改为: ```properties port=3006 ``` - 保存文件并重启神通数据库服务以使更改生效[^1]。 #### 2. 使用Docker部署时修改端口号 如果通过Docker部署神通数据库,则可以在启动容器时通过`-p`参数指定端口映射。例如,以下命令将主机的`3006`端口映射到容器内的`2003`端口: ```bash docker run -itd --name STDB --privileged=true --net=host -p 3006:2003 signal-stdb CSDB 2003 ``` 在此情况下,客户端需要连接到主机的`3006`端口,而容器内部仍然使用默认的`2003`端口[^1]。 #### 3. 在Spring配置中更新端口号 如果在Spring项目中使用神通数据库,需要同步更新`application.yml`或`application.properties`文件中的连接URL。例如,假设新的端口号为`3006`,则将以下内容更新为新的端口号: ```yaml spring: datasource: driver-class-name: com.oscar.Driver url: jdbc:oscar://127.0.0.1:3006/OSRDB?serverTimezone=UTC&useSSL=FALSE username: SYSDBA password: szoscar55 ``` #### 4. 验证端口更改 完成上述配置后,可以通过以下方式验证端口是否成功更改: - 检查数据库日志,确认其是否在新端口上监听。 - 使用网络工具(如`telnet`或`nc`)测试新端口的连通性。例如: ```bash telnet 127.0.0.1 3006 ``` - 在应用程序中尝试使用新端口连接数据库,确保连接正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值