连接数据库
本节内容将介绍两种数据库连接方式,即内部连接和外部连接。
一、内部连接
什么时候使用内部连接的方式连接数据库?
一般来说,当网站服务和数据库服务运行在同一个集群环境时,网站服务可以通过内部连接的方式连接数据库服务。
在URLOS的大多数使用场景中,都是可以使用内部连接方式的,即可将数据库服务名称
当作数据库服务器地址来使用,如,在一些常见的连接方式中,数据库服务器一栏中填写的是“localhost”,而在URLOS中则无法使用localhost,需要改成mysql001
,这里的mysql001就是对应的数据库服务名称。
如上图所示,安装应用时自动添加的mysql5.7的数据库,其服务名称是mysql001
,当然,如果用户自己安装的数据库,服务名称由用户自定。
下面,以Discuz! Q初始化安装为例,演示如何填写数据库信息:
我们在Discuz! Q(网站服务名称:dzq001)的data目录下(file: /mounts/data/dzq001/data/database-info.json),可以找到database-info.json
文件,用文件管理器查看其中内容:
{
"db_host": "mysql001",
"db_name": "dzq001_23e98",
"db_user": "dzq001_23e98",
"db_charset": "utf8mb4_unicode_ci",
"db_port": 3306,
"db_password": "NZf0CXyhtkGhTUBZ-erBuhY8A2kD@2#;KAc=GLHrhVLSw"
}
由上可知:
MySQL 服务器地址:mysql001
数据库名称:dzq001_23e98
MySQL 用户名:dzq001_23e98
MySQL 密码:NZf0CXyhtkGhTUBZ-erBuhY8A2kD@2#;KAc=GLHrhVLSw
正确的填写如下:
二、外部连接
什么时候使用外部连接?
当网站服务和数据库服务不在一个集群中,或者说网站和数据库不在一个内部网络的情况下,则需要使用外网ip进行连接,比如说在广州的云主机上用URLOS部署了mysql数据库服务,想用上海的网站对其进行连接,这就需要使用外部连接方式了。
外部连接受限于外部网络环境,连接效率、稳定性、可靠性不如内部连接方式。
如何外部连接
例如,我们在阿里云主机上用URLOS部署了mysql数据库服务,此时想通过本地数据库管理工具去连接,只需要将主机ip当作mysql服务器地址即可。
注意:
使用外部连接时,端口号必须填写,并在阿里云安全组中开放端口号
在本地管理工具中填写如下: