全部产品
Search
文档中心

Database Autonomy Service:Masalah umum tentang DBGateway

更新时间:Jun 28, 2025

Topik ini menjelaskan struktur direktori DBGateway, operasi dasar yang dapat dilakukan pada DBGateway, serta cara memecahkan masalah umum yang mungkin Anda temui saat menggunakan DBGateway.

Struktur direktori

dbgateway
|-- bin
|   |-- dbgateway
|   \-- dbgateway-manager
|-- conf
|   |-- dbgateway.conf
|   \-- server.crt
\-- log
    |-- dbgateway.err
    |-- dbgateway.log
    \-- dbgateway_manager.log    
Catatan
  • Folder bin berisi file dbgateway dan dbgateway-manager. File dbgateway adalah program utama, sedangkan file dbgateway-manager menyimpan skrip manajemen untuk memelihara DBGateway.

  • Folder conf berisi file dbgateway.conf dan server.crt. File dbgateway.conf menyimpan informasi konfigurasi DBGateway, sementara file server.crt menyimpan sertifikat kunci publik.

  • Folder log berisi file dbgateway.err, dbgateway.log, dan dbgateway_manager.log. File dbgateway.err menyimpan pesan kesalahan, file dbgateway.log menyimpan log aktivitas DBGateway, dan file dbgateway_manager.log menyimpan log skrip manajemen DBGateway.

Operasi dasar

  • Melihat Log DBGateway

    • File log DBGateway disimpan di jalur /opt/dbgateway/log/dbgateway.log.

    • File log merupakan file teks yang dapat dilihat menggunakan utilitas UNIX standar seperti vim, tail, cat, atau less.

    Layanan pelanggan atau personel dukungan teknis Database Autonomy Service (DAS) mungkin memerlukan log DBGateway untuk pemecahan masalah. Dalam hal ini, Anda dapat masuk ke server tempat DBGateway diterapkan dan menjalankan perintah berikut untuk melihat 200 entri log terakhir. Kemudian, salin dan kirimkan entri log tersebut kepada layanan pelanggan atau personel dukungan teknis.

    tail -n 200 /opt/dbgateway/log/dbgateway.log
  • Memeriksa Status Proses DBGateway

    1. Masuk ke Konsol DAS.

    2. Di panel navigasi sebelah kiri, pilih Resources > DBGateways.

    3. Di halaman DBGateways, temukan proses DBGateway yang ingin Anda kelola dan lihat informasi di kolom Current Status.

      Jika Normal ditampilkan di kolom Current Status, proses DBGateway sedang berjalan. Jika Abnormal ditampilkan, jalankan perintah berikut di server tempat DBGateway diterapkan:

      /opt/dbgateway/bin/dbgateway-manager -d status
      • Jika proses DBGateway sedang berjalan, keluaran berikut akan dikembalikan:

        DBGateway is running.
      • Jika proses DBGateway tidak aktif, keluaran berikut akan dikembalikan:

        DBGateway is dead.
      Catatan

      Operasi ini hanya memeriksa apakah proses DBGateway sedang berjalan, tetapi tidak dapat digunakan untuk memverifikasi apakah proses tersebut berjalan sesuai harapan.

  • Memulai Ulang Proses DBGateway

    1. Sebelum memulai ulang proses DBGateway, periksa statusnya dengan mengikuti langkah-langkah di bagian "Memeriksa Status Proses DBGateway".

    2. Mulai ulang proses DBGateway.

      • Jika proses DBGateway sedang berjalan, lakukan langkah berikut:

        • Di halaman DBGateways, temukan proses DBGateway yang ingin Anda mulai ulang dan pilih Manage > Restart di kolom Actions.

        • Jalankan perintah berikut di server tempat DBGateway diterapkan:

          /opt/dbgateway/bin/dbgateway-manager -d restart
      • Jika proses DBGateway tidak aktif, lakukan langkah berikut:

        Jika proses DBGateway tidak aktif, Anda tidak dapat memulai ulang proses tersebut di Konsol DAS. Jalankan perintah berikut di server tempat DBGateway diterapkan:

        /opt/dbgateway/bin/dbgateway-manager -d restart
  • Meningkatkan Proses DBGateway

    Di halaman DBGateways, temukan proses DBGateway yang ingin Anda tingkatkan dan pilih Manage > Upgrade di kolom Actions.

  • Menghentikan Proses DBGateway

    • Di halaman DBGateways, temukan proses DBGateway yang ingin Anda hentikan dan pilih Manage > Stop di kolom Actions.

    • Jalankan perintah berikut di server tempat DBGateway diterapkan:

       /opt/dbgateway/bin/dbgateway-manager -d stop
  • Menghapus Proses DBGateway

    Catatan
    • Setelah proses DBGateway dihapus, semua fitur DAS dari instance database yang terkait menjadi tidak tersedia.

    • Jika proses DBGateway dalam keadaan Normal, Anda harus menghentikannya sebelum menghapus proses tersebut.

    1. Di halaman DBGateways, temukan proses DBGateway yang ingin Anda hapus dan pilih Manage > Delete di kolom Actions.

    2. Opsional. Jalankan perintah berikut di server tempat DBGateway diterapkan untuk menghapus direktori instalasi DBGateway:

      rm -rf /opt/dbgateway
  • Menerapkan Ulang DBGateway

    Setelah DBGateway dihapus, Anda dapat menjalankan perintah deployment yang diperoleh dari Konsol DAS ketika DBGateway terhubung ke instance database untuk menerapkan ulang DBGateway di server tujuan.

Pemecahan masalah deployment

Jika database gateway in centralized mode atau database gateway in host mode terhubung ke instance database, Anda dapat memperoleh perintah yang digunakan untuk menerapkan DBGateway. Ganti nilai vpcID dan token dalam perintah dengan nilai aktual yang digunakan.

  • Skrip deployment DBGateway tidak dapat diunduh.

    • Jika pesan kesalahan wget command not found dikembalikan, perintah wget tidak tersedia. Jalankan salah satu perintah berikut untuk menginstal utilitas wget:

      sudo apt-get install wget

      atau

      yum -y install wget
    • Periksa apakah server terhubung ke Object Storage Service (OSS) Alibaba Cloud.

      Peroleh nama domain OSS, dan jalankan perintah ping berikut untuk memeriksa apakah server terhubung ke OSS. Dalam perintah berikut, nama domain OSS adalah hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com. Ganti nama domain dengan nama domain aktual yang digunakan.

      ping hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com
      • Jika keluaran berikut dikembalikan, nama domain tidak dapat diselesaikan. Periksa apakah pengaturan server DNS Anda benar dan apakah layanan resolusi nama domain bekerja sesuai harapan.

        ping: unknown host hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com  
      • Jika tidak ada keluaran yang dikembalikan untuk waktu yang lama setelah menjalankan perintah ping, koneksi jaringan gagal. Dalam hal ini, lakukan langkah berikut:

        • Periksa apakah konfigurasi jaringan server benar.

        • Periksa apakah server terhubung melalui Internet atau VPC.

        • Periksa apakah wilayah yang ditentukan benar jika server terhubung melalui VPC.

  • Memeriksa Apakah Server Terhubung ke Server DAS

    Jalankan perintah berikut di server tempat DBGateway perlu diterapkan. Dalam perintah berikut, nama domain server DAS adalah master-hdm-cn-hangzhou.aliyuncs.com. Ganti nama domain dengan nama domain aktual yang digunakan.

    telnet master-hdm-cn-hangzhou.aliyuncs.com 80
    • Jika pesan kesalahan Name or service not known dikembalikan, nama domain tidak dapat diselesaikan. Dalam hal ini, periksa apakah pengaturan server DNS Anda benar dan apakah layanan resolusi nama domain bekerja sesuai harapan.

    • Jika pesan Trying 10.0.XX.XX muncul, koneksi jaringan gagal. Lakukan operasi berikut:

      • Periksa apakah konfigurasi jaringan server benar.

      • Periksa apakah server terhubung melalui Internet atau VPC.

      • Periksa apakah wilayah yang ditentukan benar jika server terhubung melalui VPC.

    • Jika keluaran berikut dikembalikan, server terhubung ke server DAS:

      Connected to master-hdm-cn-hangzhou.aliyuncs.com.  Escape character is '^]'.

      Jika DBGateway masih gagal untuk memulai, ikuti instruksi di bagian "Melihat Log DBGateway" dari topik ini untuk pemecahan masalah.

Pemecahan masalah operasi

  • Kegagalan Autentikasi atau Izin Tidak Mencukupi

    • Periksa apakah akun yang diotorisasi dengan kata sandi tertentu memiliki izin berikut. Dalam contoh berikut, akun das_test digunakan.

      • MySQL

        CREATE USER 'das_test'@'%' IDENTIFIED BY 'password';
        GRANT SHOW DATABASES, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'das_test'@'%';
        GRANT SELECT ON *.*  TO 'das_test'@'%';
      • PostgreSQL

        CREATE USER das_test PASSWORD 'password';
        GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO das_test;
        /* Opsional. Kumpulkan log query lambat dan pernyataan SQL. */ 
        ALTER USER das_test WITH SUPERUSER;
      • MongoDB

        use admin;
        db.createUser({user:'das_test',pwd:'password',roles:[{role:'readAnyDatabase', db:'admin'}, {role:'clusterMonitor', db:'admin'}, {role: 'hostManager', db: 'admin'}]})

        Jika pesan kesalahan (Unauthorized) not authorized on admin to execute command dikembalikan, jalankan perintah berikut untuk memberikan izin yang diperlukan kepada akun das_test:

        db.grantRolesToUser("das_test", [{db: "local", role: "dbAdmin"},{db: "config", role: "dbAdmin"},{db: "admin", role: "dbAdminAnyDatabase"}])
      • Redis

        Anda tidak perlu membuat akun Redis untuk menggunakan layanan Redis. Pastikan bahwa kata sandi valid untuk mengakses layanan Redis. Untuk mengubah kata sandi yang digunakan untuk mengakses layanan Redis, modifikasi pengaturan requirepass dalam file konfigurasi dan mulai ulang layanan Redis. Untuk informasi lebih lanjut, lihat Konfigurasi Redis.

    • Periksa apakah akun yang diotorisasi dan kata sandinya valid. Kami merekomendasikan Anda untuk mengajukan permintaan koneksi jarak jauh dari server tempat DBGateway diterapkan dan menggunakan akun yang diotorisasi dan kata sandi untuk terhubung ke instance database.

    • Mulai ulang proses DBGateway dan periksa apakah instance database terhubung sesuai harapan.

    • Kami merekomendasikan Anda untuk meningkatkan DBGateway ke versi terbaru.

  • Kegagalan Koneksi

    Kegagalan koneksi terjadi karena DBGateway tidak dapat terhubung ke instance database. Pecahkan masalah berdasarkan penyebab potensial berikut:

    • Periksa apakah instance database berjalan sesuai harapan.

      Jika instance database tidak berjalan sesuai harapan, periksa apakah proses instance database ada. Instance database bisa berupa instance MySQL, PostgreSQL, MongoDB, atau Redis.

    • Periksa apakah server tempat DBGateway diterapkan terhubung ke instance database. Instance database bisa berupa instance MySQL, PostgreSQL, MongoDB, atau Redis. Untuk melakukan pemeriksaan, jalankan perintah berikut:

      telnet <Alamat IP atau nama domain instance database> <Nomor port layanan instance database>

      Contoh:

      telnet 192.168.XX.XX 3306
      • Jika keluaran berikut dikembalikan, koneksi jaringan normal. Anda harus mengikuti instruksi di bagian "Melihat Log DBGateway" dari topik ini untuk pemecahan masalah.

        Connected to 192.168.XX.XX
        Escape character is '^]'.
      • Jika keluaran sebelumnya tidak dikembalikan, masalah konektivitas terjadi. Masalah ini biasanya disebabkan oleh alasan berikut: jaringan diisolasi di antara server, pengaturan rute tidak valid, dan firewall atau instance database menolak permintaan akses jarak jauh.

  • Status Pemantauan Abnormal

    • Periksa status berjalan proses DBGateway.

    • Mulai ulang proses DBGateway dan periksa apakah fitur pemantauan pulih dari pengecualian.

    • Kami merekomendasikan Anda untuk meningkatkan DBGateway ke versi terbaru.

  • Pesan Authorized. Verifying yang Bertahan Lama

    Dalam sebagian besar kasus, status instance berubah menjadi Accessed dalam satu hingga dua menit setelah otorisasi berhasil. Namun, jika pesan Authorized. Verifying bertahan lebih dari dua menit, lakukan langkah berikut:

    • Periksa status berjalan proses DBGateway.

    • Mulai ulang proses DBGateway dan periksa apakah instance database terhubung sesuai harapan.

    • Kami merekomendasikan Anda untuk meningkatkan DBGateway ke versi terbaru.