Using PHPMyAdmin to administer Amazon RDS

后端 未结 9 996
挽巷
挽巷 2020-12-02 10:02

I can\'t get PHPMyAdmin to connect to my Amazon RDS instance. I\'ve granted permissions for my IP address to the DB Security Group which has access to this database I\'m tr

相关标签:
9条回答
  • 2020-12-02 10:35
    sudo nano /etc/phpmyadmin/config.inc.php
    
    --ADD LINES BELOW THE PMA CONFIG AREA AND FILL IN DETAILS--
    $i++;
    $cfg['Servers'][$i]['host']          = '__FILL_IN_DETAILS__';
    $cfg['Servers'][$i]['port']          = '3306';
    $cfg['Servers'][$i]['socket']        = '';
    $cfg['Servers'][$i]['connect_type']  = 'tcp';
    $cfg['Servers'][$i]['extension']     = 'mysql';
    $cfg['Servers'][$i]['compress']      = FALSE;
    $cfg['Servers'][$i]['auth_type']     = 'config';
    $cfg['Servers'][$i]['user']          = '__FILL_IN_DETAILS__';
    $cfg['Servers'][$i]['password']      = '__FILL_IN_DETAILS__';
    

    Save and Exit. Refresh your phpmyadmin page and you'll see a dropdown with the server that you just added

    Source: https://github.com/andrewpuch/phpmyadmin_connect_to_rds, https://www.youtube.com/watch?v=Bz-4wTGD2_Q

    0 讨论(0)
  • 2020-12-02 10:35

    First try this :

    mysql -h xxxxx.xxxxxxx.xx-xx-2.rds.amazonaws.com -u root -p // Your RDS server.

    If it waits and doesn't prompt for the password then you would need to check security group and add 3306 outbound to your Web Tier.

    0 讨论(0)
  • 2020-12-02 10:46

    I found most of the answers in this question lack explanation. To add RDS server in phpMyAdmin installed in EC2, you can first login to your EC2 via SSH. Then, issue the following command to edit the Config file of phpMyAdmin (use vi, nano or any other favorite text editing tool):

    sudo vi /etc/phpMyAdmin/config.inc.php # Amazon Linux
    sudo vi /etc/phpmyadmin/config.inc.php # Ubuntu Linux
    

    Find the following lines in config.inc.php:

    /*
     * End of servers configuration
     */
    

    Append the following lines above the "End of servers configuration" line:

    $i++;
    $cfg['Servers'][$i]['host'] = 'xxxxx.xxxxxxxxxx.us-east-1.rds.amazonaws.com';
    $cfg['Servers'][$i]['port'] = '3306';
    $cfg['Servers'][$i]['verbose'] = 'YOUR_SERVER_NAME';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['extension'] = 'mysql';
    $cfg['Servers'][$i]['compress'] = TRUE;
    

    which YOUR_SERVER_NAME is the name being displayed in phpMyAdmin login page's selection box. If you remove this line, the whole RDS hostname will be displayed in the selection box (which is too long, obviously). Remember to save the config.inc.php.

    There are several other config settings, which you can find the details in the official documentation.


    Note: The other answer suggests auto login with preset username & password in Config file:

    $cfg['Servers'][$i]['auth_type']     = 'config';
    $cfg['Servers'][$i]['user']          = '__FILL_IN_DETAILS__';
    $cfg['Servers'][$i]['password']      = '__FILL_IN_DETAILS__';
    

    which is extremely dangerous if your phpMyAdmin is exposed to public. You don't want to show your database schema to everyone, do you? If you really want to use automatic login, make sure your phpMyAdmin is accessible via specific IPs only.

    0 讨论(0)
提交回复
热议问题