V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
echotpq
V2EX  ›  问与答

请教关于阿里云 RDS 数据库的问题

  •  
  •   echotpq · 2017-08-09 22:11:50 +08:00 · 2637 次点击
    这是一个创建于 2668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    并发 500 个连接左右,就会报错。如下:

    [09-Aug-2017 12:39:07 Asia/Shanghai]

    PHP Fatal error:

    Uncaught PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /www/connect/public_html/function.php:14

    Stack trace:

    #0 /www/web/connect/function.php(14): PDO->__construct('mysql:host=rm-b...', '数据库用户名', '数据库密码')

    #1 /www/web/connect/function.php(10): mysql->connect()

    #2 /www/web/connect/function.php(2): mysql->__construct()

    #3 /www/web/connect/direct.php(8): require_once('/www/web/function.php')

    数据库连接代码如下:

    $mysql = new mysql();

    class mysql {

    protected $pdo;
    
    protected $res;
    
    protected $config;
    
    /*构造函数*/
    
    function __construct() {
    
        //$this->Config = $config;
        
        $this->connect();
        
    }
    
    /*数据库连接*/
    
    public function connect() {
    
        $this->pdo = new PDO(DB_TYPE.':host='.DB_HOSTNAME.';dbname='.DB_NAME,DB_USERNAME,DB_PASSWORD);
        
        $this->pdo->query('set names utf8;');
        
        $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        
    }
    
    /*数据库关闭*/
    
    public function close() {
    
        $this->pdo = null;
        
    }
    
    13 条回复    2020-08-13 18:51:46 +08:00
    Showfom
        1
    Showfom  
       2017-08-09 22:18:24 +08:00 via iPhone
    检查下 dns 是否用自己改过了 否则没法解析出内网的域名的
    echotpq
        2
    echotpq  
    OP
       2017-08-09 22:58:17 +08:00
    @Showfom 检查了,dns 未改过。自己测试时也都是正常,就是连接数达到几百的时候,才会出现如上错误
    xi_lin
        3
    xi_lin  
       2017-08-09 23:20:25 +08:00
    是不是连接数满了?不懂 php
    Showfom
        4
    Showfom  
       2017-08-09 23:30:31 +08:00
    @echotpq MySQL 默认最大连接数有限制的,你检查下
    lslqtz
        5
    lslqtz  
       2017-08-10 03:33:33 +08:00
    @echotpq 写死 IP 呢
    wdd2007
        6
    wdd2007  
       2017-08-10 10:25:08 +08:00
    使用内网连接还是外网连接?

    如果是内网连接,就用 RDS 提供的内网连接的地址。
    blackcat11
        7
    blackcat11  
       2017-08-10 11:41:34 +08:00
    嗯,报错来看就是 DNS 的问题,还是找阿里云看吧
    echotpq
        8
    echotpq  
    OP
       2017-08-10 16:47:56 +08:00 via Android
    @lslqtz 阿里云只给了一个域名,没有 ip
    echotpq
        9
    echotpq  
    OP
       2017-08-10 19:20:50 +08:00 via Android
    @wdd2007 目前仅用内网地址连接
    lslqtz
        10
    lslqtz  
       2017-08-11 04:17:32 +08:00
    @echotpq 自己 ping
    echotpq
        11
    echotpq  
    OP
       2017-08-11 05:40:55 +08:00 via Android
    @lslqtz ping 不靠谱 万一域名更改了 ip 地址 就挂了…
    lslqtz
        12
    lslqtz  
       2017-08-11 15:36:41 +08:00
    @echotpq 所以叫“测试”啊
    narsi
        13
    narsi  
       2020-08-13 18:51:46 +08:00
    请问后来知道是啥问题了么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:39 · PVG 19:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.