Access the TiDB Cluster

    You can configure Service with different types according to the scenarios, such as , NodePort, LoadBalancer, etc., and use different access methods for different types.

    You can obtain TiDB Service information by running the following command:

    For example:

    The above example describes the information of the basic-tidb service in the default namespace. The type is NodePort, ClusterIP is 10.233.6.240, ServicePort is and 10080, and the corresponding NodePort is 32498 and 30171.

    The default authentication plugin of MySQL 8.0 is updated from mysql_native_password to caching_sha2_password. Therefore, if you use MySQL client from MySQL 8.0 to access the TiDB service (TiDB version earlier than v4.0.7), and if the user account has a password, you need to explicitly specify the --default-auth=mysql_native_password parameter.

    exposes services through the internal IP of the cluster. When selecting this type of service, you can only access it within the cluster by the following methods:

    • Service domain name (${serviceName}.${namespace}) + ServicePort

    If there is no LoadBalancer, you can choose to expose the service through NodePort. NodePort exposes services through the node’s IP and static port. You can access a NodePort service from outside of the cluster by requesting NodeIP + NodePort.

    To view the Node Port assigned by Service, run the following commands to obtain the Service object of TiDB:

    • When externalTrafficPolicy is configured as Local, use the following commands to get the nodes where the TiDB instance of a specified cluster is located:

    If the TiDB cluster runs in an environment with LoadBalancer, such as on GCP or AWS, it is recommended to use the LoadBalancer feature of these cloud platforms by setting .

    To access TiDB Service through LoadBalancer, refer to , GKE and .