laravel 使用ssh连接MySQL

袁良弼
2023-12-01

场景:数据库是阿里云数据库,只允许指定的服务器访问,但是想在本地连接数据库做调试。

1. 启动 SSH 隧道

ssh -i ./path/to/id_rsa -o ServerAliveInterval=60 -N -L 13306:阿里云数据库地址:3306 服务器账号名@服务器地址

2. 修改laravel的mysql连接

'mysql' => [
            'driver' => 'mysql',
            'host' => 127.0.0.1, //本地地址
            'port' => 13306, //改用转发的本地端口
            'database' => database,//远程数据库名
            'username' => username,//远程数据库账号
            'password' => password,//远程数据库密码
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
]

这样就可以访问啦~~~

参考文章(这篇文章讲的很详细):

​​​​​​Connect to a remote database using an SSH tunnel in Laravel - A blog about Laravel Framework, web development and related stuff | Barry van Veen

 类似资料: