【发布时间】:2019-12-18 20:12:53
【问题描述】:
----- 编辑 ---------------------------------
编辑的原因是我的第一篇文章没有指出正确的问题。下面的新帖子应该更准确。
我正在使用 Laravel,所以我必须知道我的数据库的 IP 地址,该地址由 Alwaysdata 托管。
如何找到我的数据库的 IP 地址?
我已经搜索了如何获取它,但是只找到了如何获取主机名,这肯定不能解析为数据库主机IP。
----- 旧帖 ---------------------------------
标题:如何在 Laravel 中使用非本地 MySQL 数据库?
我正在使用 Laravel 制作网站,现在需要使用数据库。我想使用 Laravel 迁移来管理数据库。
所以我尝试运行命令php artisan migrate:install,但收到错误消息,告诉我数据库访问已被拒绝。
我的数据库是 MySQL 数据库。我使用在线 phpmyadmin(实际上我使用的是使用 phpmyadmin 作为数据库的 alwaysdata)。
这是我在 Laravel .env 文件中的数据库配置:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_database
DB_USERNAME=my_username
DB_PASSWORD=***********
我确定数据库名称以及我的用户名和密码。 我检查的数据库端口应该是正确的,但是我找不到我的数据库的主机。
我已经搜索了如何获取它,但是只找到了如何获取主机名,这肯定不能解析为数据库主机IP。
有人知道如何将 Laravel 与外部托管的 MySQL 数据库一起使用吗?
【问题讨论】:
-
phpMyAdmin与它无关,那只是一个管理平台。主机名应该是 MySQL 服务器的 IP 地址,并且您尝试连接的用户应该被允许从任何主机(不仅仅是本地主机)访问。 FWIW,
127.0.0.1===localhost. -
你在哪台机器(“我的 mac”v “部署的应用程序”)上运行这个 laravel 应用程序?您要在哪台机器上运行迁移?
-
将数据库直接暴露在互联网上(正如这个问题似乎暗示的那样)是一种不好的做法,因为许多黑客会扫描这些东西。我不会推荐这个。
-
BenM 我的问题是获取 MySQL 服务器的 IP 地址。这就是为什么我指定我使用 phpmyadmin,因为我认为它可能会影响 IP。 AD7six 我的 Laravel 应用程序在我的本地主机上运行(我使用 Wampserver),但我的数据库由 Alwaysdata 外部托管。托马斯为什么是不好的做法?我是否还有其他选择可以将我的数据库放在互联网上(如果这个问题看起来很愚蠢,但我不深入了解网站的工作原理,我很抱歉)?无论如何,Nowhere man 的答案对我有用,我会暂时使用它,如果有安全问题,以后可能会更改。
-
@thomas,如果数据库管理得当(这里应该是专业的 DBA 团队的情况)并且密码足够安全(由 alwaysdata 强制执行),那么应该是有问题吗?