Java を使用してソケット接続を作成する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Java を使用して、Cloud SQL for MySQL への Unix ソケット接続を開きます。
もっと見る
このコードサンプルを含む詳細なドキュメントについては、以下をご覧ください。
コードサンプル
Java
Cloud SQL for MySQL に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],[],[],[],null,["# Create a socket connection by using Java\n\nOpen a Unix socket connection to Cloud SQL for MySQL by using Java.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Connect from App Engine flexible environment](/sql/docs/mysql/connect-app-engine-flexible)\n- [Connect from App Engine standard environment](/sql/docs/mysql/connect-app-engine-standard)\n- [Connect from Cloud Build](/sql/docs/mysql/connect-build)\n- [Connect from Cloud Run](/sql/docs/mysql/connect-run)\n- [Connect from Cloud Run functions](/sql/docs/mysql/connect-functions)\n- [Connect using the Cloud SQL Auth Proxy](/sql/docs/mysql/connect-auth-proxy)\n- [Manage database connections](/sql/docs/mysql/manage-connections)\n\nCode sample\n-----------\n\n### Java\n\n\nTo authenticate to Cloud SQL for MySQL, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n\n import com.zaxxer.hikari.HikariConfig;\n import com.zaxxer.hikari.HikariDataSource;\n import javax.sql.DataSource;\n\n public class ConnectorConnectionPoolFactory extends ConnectionPoolFactory {\n\n // Note: Saving credentials in environment variables is convenient, but not\n // secure - consider a more secure solution such as\n // Cloud Secret Manager (https://cloud.google.com/secret-manager) to help\n // keep secrets safe.\n private static final String INSTANCE_CONNECTION_NAME =\n System.getenv(\"INSTANCE_CONNECTION_NAME\");\n private static final String INSTANCE_UNIX_SOCKET = System.getenv(\"INSTANCE_UNIX_SOCKET\");\n private static final String DB_USER = System.getenv(\"DB_USER\");\n private static final String DB_PASS = System.getenv(\"DB_PASS\");\n private static final String DB_NAME = System.getenv(\"DB_NAME\");\n\n public static DataSource createConnectionPool() {\n // The configuration object specifies behaviors for the connection pool.\n HikariConfig config = new HikariConfig();\n\n // The following URL is equivalent to setting the config options below:\n // jdbc:mysql:///\u003cDB_NAME\u003e?cloudSqlInstance=\u003cINSTANCE_CONNECTION_NAME\u003e&\n // socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=\u003cDB_USER\u003e&password=\u003cDB_PASS\u003e\n // See the link below for more info on building a JDBC URL for the Cloud SQL JDBC Socket Factory\n // https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory#creating-the-jdbc-url\n\n // Configure which instance and what database user to connect with.\n config.setJdbcUrl(String.format(\"jdbc:mysql:///%s\", DB_NAME));\n config.setUsername(DB_USER); // e.g. \"root\", \"mysql\"\n config.setPassword(DB_PASS); // e.g. \"my-password\"\n\n config.addDataSourceProperty(\"socketFactory\", \"com.google.cloud.sql.mysql.SocketFactory\");\n config.addDataSourceProperty(\"cloudSqlInstance\", INSTANCE_CONNECTION_NAME);\n\n // Unix sockets are not natively supported in Java, so it is necessary to use the Cloud SQL\n // Java Connector to connect. When setting INSTANCE_UNIX_SOCKET, the connector will \n // call an external package that will enable Unix socket connections.\n // Note: For Java users, the Cloud SQL Java Connector can provide authenticated connections\n // which is usually preferable to using the Cloud SQL Proxy with Unix sockets.\n // See https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory for details.\n if (INSTANCE_UNIX_SOCKET != null) {\n config.addDataSourceProperty(\"unixSocketPath\", INSTANCE_UNIX_SOCKET);\n }\n\n\n // cloudSqlRefreshStrategy set to \"lazy\" is used to perform a\n // refresh when needed, rather than on a scheduled interval.\n // This is recommended for serverless environments to\n // avoid background refreshes from throttling CPU.\n config.addDataSourceProperty(\"cloudSqlRefreshStrategy\", \"lazy\");\n\n // ... Specify additional connection properties here.\n // ...\n\n // Initialize the connection pool using the configuration object.\n return new HikariDataSource(config);\n }\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=cloud_sql_mysql)."]]