连接数据库

本节内容将介绍两种数据库连接方式,即内部连接外部连接

一、内部连接

什么时候使用内部连接的方式连接数据库?

一般来说,当网站服务和数据库服务运行在同一个集群环境时,网站服务可以通过内部连接的方式连接数据库服务。

在URLOS的大多数使用场景中,都是可以使用内部连接方式的,即可将数据库服务名称当作数据库服务器地址来使用,如,在一些常见的连接方式中,数据库服务器一栏中填写的是“localhost”,而在URLOS中则无法使用localhost,需要改成mysql001,这里的mysql001就是对应的数据库服务名称。

image-20200725160214295

如上图所示,安装应用时自动添加的mysql5.7的数据库,其服务名称是mysql001,当然,如果用户自己安装的数据库,服务名称由用户自定。

下面,以Discuz! Q初始化安装为例,演示如何填写数据库信息:

我们在Discuz! Q(网站服务名称:dzq001)的data目录下(file: /mounts/data/dzq001/data/database-info.json),可以找到database-info.json文件,用文件管理器查看其中内容:

  1. {
  2. "db_host": "mysql001",
  3. "db_name": "dzq001_23e98",
  4. "db_user": "dzq001_23e98",
  5. "db_charset": "utf8mb4_unicode_ci",
  6. "db_port": 3306,
  7. "db_password": "NZf0CXyhtkGhTUBZ-erBuhY8A2kD@2#;KAc=GLHrhVLSw"
  8. }

由上可知:

MySQL 服务器地址:mysql001

数据库名称:dzq001_23e98

MySQL 用户名:dzq001_23e98

MySQL 密码:NZf0CXyhtkGhTUBZ-erBuhY8A2kD@2#;KAc=GLHrhVLSw

正确的填写如下:

image-20200725161639343


二、外部连接

什么时候使用外部连接?

当网站服务和数据库服务不在一个集群中,或者说网站和数据库不在一个内部网络的情况下,则需要使用外网ip进行连接,比如说在广州的云主机上用URLOS部署了mysql数据库服务,想用上海的网站对其进行连接,这就需要使用外部连接方式了。

外部连接受限于外部网络环境,连接效率、稳定性、可靠性不如内部连接方式。

如何外部连接

例如,我们在阿里云主机上用URLOS部署了mysql数据库服务,此时想通过本地数据库管理工具去连接,只需要将主机ip当作mysql服务器地址即可。

注意:使用外部连接时,端口号必须填写,并在阿里云安全组中开放端口号

image-20200725164600310

在本地管理工具中填写如下:

img