Cloud SQL Connector for Java เป็นไลบรารีที่ให้การให้สิทธิ์และการเข้ารหัสตาม IAM เมื่อเชื่อมต่อกับอินสแตนซ์ Cloud SQL ไม่ สามารถ จัดเตรียมเส้นทางเครือข่ายไปยังอินสแตนซ์ Cloud SQL ได้หากไม่มีอยู่ ดูหน้าภาพรวมการเชื่อมต่อเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมต่อกับอินสแตนซ์ Cloud SQL
สำหรับข้อมูลการใช้งานเฉพาะสำหรับกลไกฐานข้อมูลและไดรเวอร์ของคุณ โปรดดูหน้าด้านล่าง:
กำลังเชื่อมต่อกับ Cloud SQL โดยใช้ JDBC
กำลังเชื่อมต่อกับ Cloud SQL โดยใช้ R2DBC
สำหรับตัวอย่างของไลบรารีนี้ที่ใช้ในบริบทของแอปพลิเคชัน โปรดดูแอปพลิเคชันตัวอย่างที่อยู่ ที่นี่
ไลบรารีนี้ใช้กลยุทธ์ Application Default Credentials (ADC) สำหรับการแก้ไขข้อมูลรับรอง โปรดดูคำแนะนำเหล่านี้สำหรับวิธีตั้งค่า ADC ของคุณ (แอปพลิเคชัน Google Cloud เทียบกับการพัฒนาในเครื่อง ผู้ใช้ IAM เทียบกับข้อมูลรับรองบัญชีบริการ)
-
หากต้องการสร้าง JAR ไขมันที่มีไดรเวอร์ JDBC ที่มีการพึ่งพา Bundles Socket Factory คุณสามารถออกคำสั่ง Maven ต่อไปนี้จากตำแหน่งที่มีโปรเจ็กต์ pom.xml:
mvn -P jar-with-dependencies clean package -DskipTests
สิ่งนี้จะสร้างโฟลเดอร์ย่อย เป้าหมาย ภายในแต่ละไดเร็กทอรีโมดูล ภายในไดเร็กทอรีเป้าหมายเหล่านี้ คุณจะพบไฟล์ไดรเวอร์ JDBC
ตัวอย่าง:
mysql-socket-factory-connector-j-8–1.8.0-jar-with-dependencies.jar postgres-socket-factory-1.8.0-jar-with-dependencies.jar
Java Connector รองรับการบันทึกการแก้ไขจุดบกพร่องเพิ่มเติม เพื่อช่วยวินิจฉัยปัญหาเกี่ยวกับการรีเฟรชใบรับรองเบื้องหลัง หากต้องการเปิดใช้งาน ให้เพิ่มสิ่งต่อไปนี้ลงในไฟล์ /src/main/resources/application.yml
:
logging.level.root=DEBUG
พร็อกซี Cloud SQL สร้างการเชื่อมต่อกับอินสแตนซ์ Cloud SQL โดยใช้พอร์ต 3307 อาจจำเป็นต้องกำหนดค่าแอปพลิเคชันที่ได้รับการปกป้องโดยไฟร์วอลล์เพื่ออนุญาตการเชื่อมต่อขาออกบนพอร์ต TCP 3307 การเชื่อมต่อที่ถูกบล็อกโดยไฟร์วอลล์มักส่งผลให้เกิดข้อผิดพลาดที่ระบุความล้มเหลวในการเชื่อมต่อ ( เช่น com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
)
ในการเชื่อมต่อ IntelliJ กับอินสแตนซ์ Cloud SQL ของคุณ คุณจะต้องเพิ่มไลบรารีนี้เป็น jar ที่มีการขึ้นต่อกันในส่วน "ไฟล์เพิ่มเติม" ในหน้าการตั้งค่าไดรเวอร์ ไม่มีขวดไขมันที่สร้างไว้ล่วงหน้าอีกต่อไป (ตั้งแต่เวอร์ชัน 1.14.0)
ต่อไปนี้เป็นเคล็ดลับในการแก้ปัญหาเพื่อแก้ไขปัญหาทั่วไปที่เกิดขึ้นเมื่อใช้งาน Java Connector:
ตรวจสอบว่าคุณใช้ Cloud SQL Connector เวอร์ชันล่าสุดและไดรเวอร์ฐานข้อมูลเพื่อหลีกเลี่ยงความไม่เข้ากัน ไม่รองรับไดรเวอร์เวอร์ชันเก่าบางเวอร์ชัน
ตัวเชื่อมต่อ Java ให้สิทธิ์สำหรับการเชื่อมต่อ แต่ไม่มีเส้นทางใหม่ในการเชื่อมต่อ ตัวอย่างเช่น หากต้องการเชื่อมต่อกับอินสแตนซ์ Cloud SQL โดยใช้ที่อยู่ IP ส่วนตัว แอปพลิเคชันของคุณต้องมีการเข้าถึง VPC อยู่แล้ว
โปรเจ็กต์นี้ใช้การกำหนดเวอร์ชันเชิงความหมาย และใช้วงจรการใช้งานต่อไปนี้ที่เกี่ยวข้องกับการสนับสนุนเวอร์ชันหลัก:
ใช้งานอยู่ - เวอร์ชันที่ใช้งานอยู่จะได้รับฟีเจอร์ใหม่และการแก้ไขด้านความปลอดภัย (ซึ่งจะไม่ทำให้เกิดการเปลี่ยนแปลงที่สำคัญ) เวอร์ชันหลักใหม่รับประกันว่า "ใช้งานได้" เป็นเวลาอย่างน้อย 1 ปี เลิกใช้แล้ว - เวอร์ชันที่เลิกใช้แล้วยังคงได้รับการรักษาความปลอดภัยและการแก้ไขข้อบกพร่องที่สำคัญ แต่จะไม่ได้รับคุณลักษณะใหม่ เวอร์ชันที่เลิกใช้งานแล้วจะได้รับการสนับสนุนแบบสาธารณะเป็นเวลา 1 ปี ไม่รองรับ - เวอร์ชันหลักใดๆ ที่เลิกใช้งานเป็นเวลา >=1 ปี จะถือว่าไม่รองรับโดยสาธารณะ
เราทดสอบและสนับสนุนอย่างน้อยในเวอร์ชัน LTS JDK ใดๆ ที่สนับสนุนโดยสาธารณะ การเปลี่ยนแปลงในเวอร์ชันที่รองรับจะถือเป็นการเปลี่ยนแปลงเล็กน้อย และจะแสดงอยู่ในหมายเหตุการเผยแพร่
โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้มีจังหวะการเผยแพร่ขั้นต่ำต่อเดือน หากไม่มีการเพิ่มคุณสมบัติหรือการแก้ไขใหม่ จะมีการเปิดตัว PATCH เวอร์ชันใหม่ที่มีการขึ้นต่อกันล่าสุด