RDS Proxy 命令列範例 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

RDS Proxy 命令列範例

若要查看連線命令和 SQL 陳述式的組合如何與 RDS Proxy 互動,請參閱下列範例。

範例
透過容錯移轉保留與 MySQL 資料庫的連線

此 MySQL 範例將示範已開啟的連線如何在容錯移轉期間繼續運作。例如,當您重新啟動資料庫,或資料庫因由於有問題而無法使用時。本範例使用一個名為 the-proxy 的代理,以及一個具有資料庫執行個體 instance-8898instance-9814 的 Aurora 資料庫叢集。從 Linux failover-db-cluster 命令列執行命令時,代理連線的寫入器執行個體會變更為不同的資料庫執行個體。您可以看到與代理關聯的資料庫執行個體改變了,但連線仍然保持開啟。

$ mysql -h the-proxy.proxy-demo.us-east-1.rds.amazonaws.com -u admin_user -p Enter password: ... mysql> select @@aurora_server_id; +--------------------+ | @@aurora_server_id | +--------------------+ | instance-9814 | +--------------------+ 1 row in set (0.01 sec) mysql> [1]+ Stopped mysql -h the-proxy.proxy-demo.us-east-1.rds.amazonaws.com -u admin_user -p $ # Initially, instance-9814 is the writer. $ aws rds failover-db-cluster --db-cluster-identifier cluster-56-2019-11-14-1399 JSON output $ # After a short time, the console shows that the failover operation is complete. $ # Now instance-8898 is the writer. $ fg mysql -h the-proxy.proxy-demo.us.us-east-1.rds.amazonaws.com -u admin_user -p mysql> select @@aurora_server_id; +--------------------+ | @@aurora_server_id | +--------------------+ | instance-8898 | +--------------------+ 1 row in set (0.01 sec) mysql> [1]+ Stopped mysql -h the-proxy.proxy-demo.us-east-1.rds.amazonaws.com -u admin_user -p $ aws rds failover-db-cluster --db-cluster-identifier cluster-56-2019-11-14-1399 JSON output $ # After a short time, the console shows that the failover operation is complete. $ # Now instance-9814 is the writer again. $ fg mysql -h the-proxy.proxy-demo.us-east-1.rds.amazonaws.com -u admin_user -p mysql> select @@aurora_server_id; +--------------------+ | @@aurora_server_id | +--------------------+ | instance-9814 | +--------------------+ 1 row in set (0.01 sec) +---------------+---------------+ | Variable_name | Value | +---------------+---------------+ | hostname | ip-10-1-3-178 | +---------------+---------------+ 1 row in set (0.02 sec)
範例
調整 Aurora 資料庫叢集的 max_connections 設定

此範例示範如何調整 Aurora MySQL 資料庫叢集的 max_connections 設定。若要這麼做,請根據 MySQL 5.7 相容叢集的預設參數設定,建立自己的資料庫叢集參數群組。您可以為 max_connections 設定指定一個值,以取代設定預設值的公式。將該資料庫叢集參數群組與資料庫叢集相關聯。

export REGION=us-east-1 export CLUSTER_PARAM_GROUP=rds-proxy-mysql-57-max-connections-demo export CLUSTER_NAME=rds-proxy-mysql-57 aws rds create-db-parameter-group --region $REGION \ --db-parameter-group-family aurora-mysql5.7 \ --db-parameter-group-name $CLUSTER_PARAM_GROUP \ --description "Aurora MySQL 5.7 cluster parameter group for RDS Proxy demo." aws rds modify-db-cluster --region $REGION \ --db-cluster-identifier $CLUSTER_NAME \ --db-cluster-parameter-group-name $CLUSTER_PARAM_GROUP echo "New cluster param group is assigned to cluster:" aws rds describe-db-clusters --region $REGION \ --db-cluster-identifier $CLUSTER_NAME \ --query '*[*].{DBClusterParameterGroup:DBClusterParameterGroup}' echo "Current value for max_connections:" aws rds describe-db-cluster-parameters --region $REGION \ --db-cluster-parameter-group-name $CLUSTER_PARAM_GROUP \ --query '*[*].{ParameterName:ParameterName,ParameterValue:ParameterValue}' \ --output text | grep "^max_connections" echo -n "Enter number for max_connections setting: " read answer aws rds modify-db-cluster-parameter-group --region $REGION --db-cluster-parameter-group-name $CLUSTER_PARAM_GROUP \ --parameters "ParameterName=max_connections,ParameterValue=$$answer,ApplyMethod=immediate" echo "Updated value for max_connections:" aws rds describe-db-cluster-parameters --region $REGION \ --db-cluster-parameter-group-name $CLUSTER_PARAM_GROUP \ --query '*[*].{ParameterName:ParameterName,ParameterValue:ParameterValue}' \ --output text | grep "^max_connections"