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 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.logMemeriksa Status Proses DBGateway
Masuk ke Konsol DAS.
Di panel navigasi sebelah kiri, pilih Resources > DBGateways.
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 statusJika proses DBGateway sedang berjalan, keluaran berikut akan dikembalikan:
DBGateway is running.Jika proses DBGateway tidak aktif, keluaran berikut akan dikembalikan:
DBGateway is dead.
CatatanOperasi ini hanya memeriksa apakah proses DBGateway sedang berjalan, tetapi tidak dapat digunakan untuk memverifikasi apakah proses tersebut berjalan sesuai harapan.
Memulai Ulang Proses DBGateway
Sebelum memulai ulang proses DBGateway, periksa statusnya dengan mengikuti langkah-langkah di bagian "Memeriksa Status Proses DBGateway".
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 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 di kolom Actions.
Menghentikan Proses DBGateway
Di halaman DBGateways, temukan proses DBGateway yang ingin Anda hentikan dan pilih di kolom Actions.
Jalankan perintah berikut di server tempat DBGateway diterapkan:
/opt/dbgateway/bin/dbgateway-manager -d stop
Menghapus Proses DBGateway
CatatanSetelah 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.
Di halaman DBGateways, temukan proses DBGateway yang ingin Anda hapus dan pilih di kolom Actions.
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 founddikembalikan, perintahwgettidak tersedia. Jalankan salah satu perintah berikut untuk menginstal utilitaswget:sudo apt-get install wgetatau
yum -y install wgetPeriksa apakah server terhubung ke Object Storage Service (OSS) Alibaba Cloud.
Peroleh nama domain OSS, dan jalankan perintah
pingberikut untuk memeriksa apakah server terhubung ke OSS. Dalam perintah berikut, nama domain OSS adalahhdm-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.comJika 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.comJika 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 80Jika pesan kesalahan
Name or service not knowndikembalikan, 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.XXmuncul, 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 commanddikembalikan, 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 3306Jika 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. Verifyingyang Bertahan LamaDalam sebagian besar kasus, status instance berubah menjadi Accessed dalam satu hingga dua menit setelah otorisasi berhasil. Namun, jika pesan
Authorized. Verifyingbertahan 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.