Laravel 使用ssh链接远程数据库
1.创建ssh
ssh -i ./id_rsa -N -L 13306:127.0.0.1:3306 -p 22 root@***对上述代码的解释:
命令是一个SSH隧道命令,用于将本地端口3306转发到远程服务器上的3306端口。以下是命令的详细解释:# 调用SSH客户端。
ssh
# 指定用于身份验证的私钥文件。
-i ./id_rsa
# 不执行远程命令,仅用于端口转发。
-N
# 将本地端口 13306 转发到远程服务器上的127.0.0.1:3306。
# 本地端口不建议使用3306,有时候本地数据库开启的时候如果整理使用的是3306可能会有冲突导致连接失败
-L 13306:127.0.0.1:3306
# 指定SSH连接的远程端口为22。
-p 22
# 连接到远程服务器的用户和IP地址。
root@***
这个命令通常用于安全地访问远程服务器上的数据库或其他服务。例如,如果你有一个运行在远程服务器上的MySQL数据库,你可以使用这个命令在本地计算机上通过 13306 端口访问它。
命令执行完会提示输入远端密码,输入完回车即可
2. 修改 Laravel 的.env 配置文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 //本地ip
DB_PORT=13306 //对应创建ssh时转发的端口,上面是13306
DB_DATABASE=db_name //远程数据库名
DB_USERNAME=username //远程数据库账号
DB_PASSWORD=pwd //远程数据库密码
完成