Halo,
Mohon maaf atas kendalanya. Kami telah memeriksa trace dan database, dan kami menemukan penyebab utamanya: fungsi backup mencoba membaca variabel lingkungan MYSQL_USERNAME dari layanan MySQL Anda, tetapi layanan Anda saat ini hanya memiliki MYSQL_USER (tidak ada MYSQL_USERNAME). Akibatnya, program backup tidak dapat mengambil nama pengguna dan memunculkan error MISSING_DATABASE_USERNAME.
Sebagai referensi, variabel lingkungan yang disediakan oleh template default Zeabur MySQL seharusnya terlihat seperti ini:
MYSQL_USERNAME = root
PASSWORD = <dihasilkan otomatis>
MYSQL_PASSWORD = ${MYSQL_ROOT_PASSWORD}
MYSQL_ROOT_PASSWORD = ${PASSWORD}
MYSQL_DATABASE = zeabur
MYSQL_HOST = ${CONTAINER_HOSTNAME}
MYSQL_PORT = ${DATABASE_PORT}
Di layanan Anda saat ini, MYSQL_USERNAME hilang dan berubah menjadi MYSQL_USER = mysql, yang menunjukkan bahwa variabel tersebut mungkin telah diubah secara manual sebelumnya.
Cara termudah untuk memperbaikinya: Buka halaman Variables pada layanan MySQL tersebut, lalu tambahkan variabel baru:
MYSQL_USERNAME = root
(Anda tidak perlu menghapus MYSQL_USER yang sudah ada; jika aplikasi Anda mereferensikannya, biarkan saja.)
Setelah menambahkannya, coba "Buat Backup" lagi dan proses tersebut akan berhasil. Backup menggunakan mysqldump dengan hak akses root, jadi mengisi root di sini adalah langkah yang benar; jika Anda mengubahnya menjadi mysql, pengguna tersebut hanya memiliki izin untuk database zeabur saja, sehingga backup tidak akan lengkap.