很多新手在搭建网站、安装程序或者配置软件的时候,都会被“数据库主机”这一栏卡住。它看起来简单,但填错了网站就直接连不上数据库,页面上满屏报错。这篇文章就用大白话把各种情况讲清楚,看完你就知道自己该填什么了。
数据库主机到底是什么
简单说,数据库主机就是告诉程序“你的数据库放在哪台机器上”。程序要读写数据,必须先找到数据库所在的地址,这个地址可以是一台本机、一个IP地址,也可以是一个域名。填的内容本质上就是一个地址,跟你访问网站要输入网址是一个道理。
最常见的填法:localhost
如果你是在自己电脑上安装环境,比如用phpStudy、宝塔面板、XAMPP、WAMP,或者程序和数据库装在同一台服务器上,那么数据库主机直接填localhost就行,百分之九十的情况都是这个答案。
localhost的意思就是“本机”,也就是程序自己所在的那台电脑。因为大多数建站环境里,网站程序和MySQL数据库都装在同一台服务器上,所以填localhost就等于告诉程序:数据库就在你身边,直接找它就行。
除了localhost,你还会看到有人填127.0.0.1,效果基本一样,127.0.0.1也是指本机。两者通常可以互相替换,个别环境下如果localhost连不上,换127.0.0.1试试,有时候能解决问题。
数据库和网站不在同一台服务器怎么办
如果你的数据库是单独买的,比如阿里云RDS、腾讯云数据库,或者数据库装在另一台服务器上,那就不能填localhost了,要填数据库服务商给你的连接地址。
这种地址一般长这样:一串IP地址,或者一个域名,例如rm-xxxxxx.mysql.rds.aliyuncs.com这种形式。购买数据库的时候,控制台里会明确告诉你连接地址和端口,直接复制过来填上就行。
注意,使用云数据库时,通常还要在云数据库后台把你的网站服务器IP加进白名单,否则即使地址填对了,也会因为没授权而连接失败。
虚拟主机用户怎么填
如果你买的是虚拟主机,主机商一般会在控制面板里直接标明数据库地址。有的虚拟主机的数据库就在本机,填localhost就可以;有的则是独立的数据库服务器,控制面板里会给你一个具体的地址。不确定的话,打开主机商的控制面板看一下数据库信息页面,或者直接问客服,这是最快的办法。
端口号要不要填
MySQL数据库默认端口是3306。如果你的数据库用的是默认端口,一般不需要单独填端口,只填主机地址就行。但如果服务商改过端口,比如填的是rm-xxx.mysql.rds.aliyuncs.com:3307这种带冒号的格式,或者配置文件里有单独的端口选项,就要按实际给的端口来填,漏了端口也是连不上的常见原因之一。
数据库主机填错的典型报错
填错了会发生什么?最常见的就是安装程序时报“数据库连接失败”或者“无法连接到数据库服务器”,WordPress会提示“建立数据库连接时出错”。看到这类提示,先检查三样东西:主机地址对不对、数据库名和用户名对不对、密码对不对。其中主机地址填错,报错一般会很快出现;如果提示的是用户名或密码错误,那问题就出在账号信息上。
还有一个容易忽略的点:本机环境里数据库主机填localhost没问题,但如果把网站搬到别的地方,搬家后连不上数据库,多半是因为新环境的数据库地址变了,改一下配置文件里的主机地址就好。WordPress的话就是根目录下的wp-config.php文件,找到DB_HOST那一行改掉。
一句话总结怎么填
程序和数据库在同一台机器上,填localhost或127.0.0.1;数据库在别的服务器或买的云数据库,填服务商提供的连接地址;虚拟主机用户去看控制面板里写的地址。只要记住“数据库主机就是数据库的地址”这个核心逻辑,再对照自己手上的环境,基本就不会填错了。实在不确定,别瞎猜,去看服务商的说明文档或者直接问客服,比自己试错省时间得多。
