首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel连接到在线数据库

laravel连接到在线数据库
EN

Stack Overflow用户
提问于 2016-06-21 22:22:30
回答 1查看 4.7K关注 0票数 1

我有离线应用程序(安装在本地主机上),但数据库在联机服务器中。因为我想做些类似同步器的东西..。

我试着把我的database.php设置成这样

代码语言:javascript
复制
       'mysqlserver' => array(
            'host'      => '103.38.103.142',
            'port'      => '212',
            'driver'    => 'mysql',
            'database'  => 'lgspsb',
            'username'  => 'xxxxxxx',
            'password'  => 'xxxxxxx',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

但是像这样的错误。

代码语言:javascript
复制
SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'reading initial communication packet', system error: 0 

我怎么解决不了这个问题?谢谢之前..。为我糟糕的英语感到抱歉

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-21 23:13:01

我会在这里回答那些来这里寻求解决办法的人的问题。

做完后:

代码语言:javascript
复制
telnet 103.38.103.142 212

我看到在212端口上监听的应用程序不是mysql。

这是截图:http://joxi.ru/Vm6kkLCxn16Q2Z

我也看到了它是乌本图。

那么快,我会一步一步地解决你的问题。

1)切换到根:

代码语言:javascript
复制
sudo su

2)编辑/etc/mysql/my.cnf文件并确保它在mysqld部分(屏幕截图:http://joxi.ru/zANQQJhlqXn329)下有绑定:

代码语言:javascript
复制
bind-address = 0.0.0.0

3)重新启动mysql服务器:

代码语言:javascript
复制
service mysql restart

4)以mysql用户的身份进入mysql控制台(屏幕截图:http://joxi.ru/a2X77bSyOM3Rmg):

代码语言:javascript
复制
mysql -u root -p

5)为数据库创建远程用户并刷新权限:

代码语言:javascript
复制
GRANT ALL ON lgspsb.* TO 'lgspsb_remote'@'%' IDENTIFIED BY 'somehardpassword';
FLUSH PRIVILEGES;

6)更改数据库连接参数:

代码语言:javascript
复制
   'mysqlserver' => array(
        'host'      => '103.38.103.142',
        'port'      => '3306',
        'driver'    => 'mysql',
        'database'  => 'lgspsb',
        'username'  => 'lgspsb_remote',
        'password'  => 'somehardpassword',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

仅此而已(:

附注:使用.env文件避免每次更改数据库配置。截图:http://joxi.ru/ZrJEEJh17ROwAj

附注:当然,这是为了开发目的。在生产中,最好是监听具有更安全环境的具体网络接口(例如,拥有pptp0连接并绑定在pptp0接口的ip上)

对数字海洋爱好者而言:

在数字海洋里我有水滴。

我确实有单独的数据库服务器,可以监听液滴之间的内部网络接口。

以及使用同一个内部网络连接到它们的应用服务器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37955560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档