Updated on 2023-10-18 GMT+08:00

Connecting to a DB Instance from a Linux ECS

You can connect to your DB instance using a Linux ECS with a MySQL client installed over a private network.

  1. Purchasing an ECS
  2. Querying the Private IP Address of the DB Instance to Be Connected
  3. Testing Connectivity and Installing a MySQL Client
  4. Using CLI to Connect to a DB Instance

Purchasing an ECS

  1. Log in to the management console and check whether there is an ECS available.

  2. Buy an ECS and select Linux (for example, CentOS) as its OS.

    To download a MySQL client to the ECS, bind an EIP to the ECS. The ECS must be in the same region, VPC, and security group as the GaussDB(for MySQL) DB instance for mutual communication.

    For details about how to purchase a Linux ECS, see "Purchasing an ECS" in Elastic Cloud Server User Guide.

  3. On the ECS Information page, view the region and VPC of the ECS.

  4. On the Basic Information page of the GaussDB(for MySQL) DB instance, view the region and VPC of the DB instance.
  5. Check whether the ECS and GaussDB(for MySQL) DB instance are in the same region and VPC.

    • If yes, go to Querying the Private IP Address of the DB Instance to Be Connected.
    • If no, purchase another ECS or DB instance. If the ECS and DB instance are in different regions, they cannot communicate with each other. To reduce network latency, deploy your DB instance in the region nearest to your workloads.
    • If the ECS and DB instance are in different VPCs, change the VPC of the ECS to that of the DB instance. For details, see "Changing a VPC" in the Elastic Cloud Server User Guide.

Querying the Private IP Address of the DB Instance to Be Connected

  1. Log in to the management console.
  2. On the Instances page, click the instance name to go to the Basic Information page.
  3. In the Network Information area, obtain the private IP address and database port.

Testing Connectivity and Installing a MySQL Client

  1. Log in to the ECS. For details, see "Login Using VNC" in the Elastic Cloud Server User Guide.
  2. On the ECS, check whether the private IP address and database port of the DB instance (obtained in Querying the Private IP Address of the DB Instance to Be Connected) can be connected.

    telnet private IP address port

    Example:

    telnet 192.168.0.16 3306

    If the message "command not found" is displayed, install the Telnet tool based on the OS used by the ECS.

    • If yes, network connectivity is available.
    • If no, check the security group rules.
      • If Destination is not 0.0.0.0/0 and Protocol & Port is not All on the Outbound Rules page of the ECS, add the private IP address and port of the DB instance to the outbound rules.
      • To view the inbound rules of the GaussDB(for MySQL) security group, add the private IP address and port of the ECS to the inbound rules. For details, see Configuring Security Group Rules.

  3. Download the MySQL client installation package for Linux locally. A MySQL client running a version later than that of the DB instance is recommended.

    Find the link to the required version on the download page. The mysql-community-client-8.0.21-1.el6.x86_64 is used as an example.

    Figure 1 Downloading a MySQL client

  4. Upload the installation package to the ECS.
  5. You can use any terminal connection tool, such as WinSCP and PuTTY, to upload the installation package to the ECS.
  6. Run the following command to install the MySQL client:

    rpm -ivh mysql-community-client-8.0.21-1.el6.x86_64.rpm

    • If any conflicts occur during the installation, add the replacefiles parameter to the command and try to install the client again. Example:

      rpm -ivh --replacefiles mysql-community-client-8.0.21-1.el6.x86_64.rpm

    • If a message is displayed prompting you to install a dependency package, you can add the nodeps parameter to the command and install the client again. Example:

      rpm -ivh --nodeps mysql-community-client-8.0.21-1.el6.x86_64.rpm

Using CLI to Connect to a DB Instance

In Linux, use a MySQL client to connect to your instance through an SSL connection or non-SSL connection. The SSL connection encrypts data and is more secure.

  • SSL Connection (Recommended)
    1. Log in to the management console.
    2. On the Instances page, click the instance name to go to the Basic Information page.
    3. In the DB Instance Information area, check whether SSL is enabled next to the SSL field.
      • If SSL is enabled, go to 4.
      • If SSL is disabled, click . In the displayed dialog box, click Yes to enable SSL. Then go to 4.
    4. Click next to the SSL field to download Certificate Download.zip, and extract the root certificate ca.pem and bundle ca-bundle.pem from the package.
    5. Upload ca.pem to the ECS.
    6. Run the following command on the ECS to connect to the DB instance:

      mysql -h <host> -P <port> -u <userName> -p --ssl-ca=<caName>

      Example:

      mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=ca.pem

      Table 1 Parameter description

      Parameter

      Description

      <host>

      Private IP address obtained in 3.

      <port>

      Database port obtained in 3. The default value is 3306.

      <userName>

      Administrator account root.

      <caName>

      Name of the CA certificate. The certificate should be stored in the directory where the command is executed.

    7. Enter the password of the database account if the following information is displayed:
      Enter password:
  • Non-SSL Connection
    1. Run the following command on the ECS to connect to the DB instance:

      mysql -h <host> -P <port> -u <userName> -p

      Example:

      mysql -h 192.168.0.16 -P 3306 -u root -p

      Table 2 Parameter description

      Parameter

      Description

      <host>

      Private IP address obtained in 3.

      <port>

      Database port obtained in 3. The default value is 3306.

      <userName>

      Administrator account root.

    2. Enter the password of the database account if the following information is displayed:
      Enter password:
      Figure 2 Connection succeeded