echotpq
V2EX  ›  问与答

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

  •  
  •   echotpq · Aug 9, 2017 · 3333 views
    This topic created in 3204 days ago, the information mentioned may be changed or developed.

    并发 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 replies    2020-08-13 18:51:46 +08:00
    Showfom
        1
    Showfom  
    PRO
       Aug 9, 2017 via iPhone
    检查下 dns 是否用自己改过了 否则没法解析出内网的域名的
    echotpq
        2
    echotpq  
    OP
       Aug 9, 2017
    @Showfom 检查了,dns 未改过。自己测试时也都是正常,就是连接数达到几百的时候,才会出现如上错误
    xi_lin
        3
    xi_lin  
       Aug 9, 2017
    是不是连接数满了?不懂 php
    Showfom
        4
    Showfom  
    PRO
       Aug 9, 2017
    @echotpq MySQL 默认最大连接数有限制的,你检查下
    lslqtz
        5
    lslqtz  
       Aug 10, 2017
    @echotpq 写死 IP 呢
    wdd2007
        6
    wdd2007  
       Aug 10, 2017
    使用内网连接还是外网连接?

    如果是内网连接,就用 RDS 提供的内网连接的地址。
    blackcat11
        7
    blackcat11  
       Aug 10, 2017
    嗯,报错来看就是 DNS 的问题,还是找阿里云看吧
    echotpq
        8
    echotpq  
    OP
       Aug 10, 2017 via Android
    @lslqtz 阿里云只给了一个域名,没有 ip
    echotpq
        9
    echotpq  
    OP
       Aug 10, 2017 via Android
    @wdd2007 目前仅用内网地址连接
    lslqtz
        10
    lslqtz  
       Aug 11, 2017
    @echotpq 自己 ping
    echotpq
        11
    echotpq  
    OP
       Aug 11, 2017 via Android
    @lslqtz ping 不靠谱 万一域名更改了 ip 地址 就挂了…
    lslqtz
        12
    lslqtz  
       Aug 11, 2017
    @echotpq 所以叫“测试”啊
    narsi
        13
    narsi  
       Aug 13, 2020
    请问后来知道是啥问题了么?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4863 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 09:40 · PVG 17:40 · LAX 02:40 · JFK 05:40
    ♥ Do have faith in what you're doing.