Mungkin kamu pernah mengalami error saat import Database, terutama file SQL yang ada query seputar CREATE ALGORITHM
atau CREATE VIEW
.
Perlu diketahui dari error tersebut kamu harus jeli untuk melihat penyebabnya mengapa.
Dalam kasus ini, kami akan mencoba memberikan sample SQL Query yang menimbulkan error: #1227 - Access denied; you need (at least one of) the SUPER, SET USER privilege(s) for this operation
, selain itu kami akan memberikan solusinya.
Berikut Contoh SQL yang akan kamu import :
--
-- Struktur untuk view `v_hitung_pinjaman`
--
DROP TABLE IF EXISTS `v_hitung_pinjaman`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_hitung_pinjaman` AS select `tbl_pinjaman_h`.`id` AS `id`,`tbl_pinjaman_h`.`tgl_pinjam` AS `tgl_pinjam`,`tbl_pinjaman_h`.`anggota_id` AS `anggota_id`,`tbl_pinjaman_h`.`lama_angsuran` AS `lama_angsuran`,`tbl_pinjaman_h`.`jumlah` AS `jumlah`,`tbl_pinjaman_h`.`bunga` AS `bunga`,`tbl_pinjaman_h`.`biaya_adm` AS `biaya_adm`,`tbl_pinjaman_h`.`lunas` AS `lunas`,`tbl_pinjaman_h`.`dk` AS `dk`,`tbl_pinjaman_h`.`kas_id` AS `kas_id`,`tbl_pinjaman_h`.`user_name` AS `user_name`,(`tbl_pinjaman_h`.`jumlah` / `tbl_pinjaman_h`.`lama_angsuran`) AS `pokok_angsuran`,round(ceiling(((`tbl_pinjaman_h`.`jumlah` * `tbl_pinjaman_h`.`bunga`) / 100)),-(2)) AS `bunga_pinjaman`,round(ceiling(((((((`tbl_pinjaman_h`.`jumlah` * `tbl_pinjaman_h`.`bunga`) / 100) + (`tbl_pinjaman_h`.`jumlah` / `tbl_pinjaman_h`.`lama_angsuran`)) + `tbl_pinjaman_h`.`biaya_adm`) * 100) / 100)),-(2)) AS `ags_per_bulan`,(`tbl_pinjaman_h`.`tgl_pinjam` + interval `tbl_pinjaman_h`.`lama_angsuran` month) AS `tempo`,(round(ceiling(((((((`tbl_pinjaman_h`.`jumlah` * `tbl_pinjaman_h`.`bunga`) / 100) + (`tbl_pinjaman_h`.`jumlah` / `tbl_pinjaman_h`.`lama_angsuran`)) + `tbl_pinjaman_h`.`biaya_adm`) * 100) / 100)),-(2)) * `tbl_pinjaman_h`.`lama_angsuran`) AS `tagihan`,`tbl_pinjaman_h`.`keterangan` AS `keterangan`,`tbl_pinjaman_h`.`barang_id` AS `barang_id`,ifnull(max(`tbl_pinjaman_d`.`angsuran_ke`),0) AS `bln_sudah_angsur` from (`tbl_pinjaman_h` left join `tbl_pinjaman_d` on((`tbl_pinjaman_h`.`id` = `tbl_pinjaman_d`.`pinjam_id`))) group by `tbl_pinjaman_h`.`id`;
Kami lakukan import melalui Phpmyadmin dengan memilik nama Database nya terlebih dahulu --> SQL
Copy & Paste Query yang ingin dijalankan. Atau jika dalam bentuk file.sql kamu juga bisa import melalui menu Import
.
Hasil yang didapat adalah error :
Solusinya ?
Nah, kalo sudah begini, kamu harus perhatikan username database yang kamu gunakan. Dalam web hosting cPanel kamu tidak mengenal adanya root akses. Maka kamu harus membuat username database sendiri dengan grant all privilege.
Error diatas memberikan info bahwa kamu tidak ada akses untuk menjalankan perintah CREATE ALGORITHM.
Jadi solusinya kamu bisa mengganti menjadi DEFINER=CURRENT_USER
Sebelumnya:
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW
Menjadi:
CREATE ALGORITHM=UNDEFINED DEFINER=CURRENT_USER SQL SECURITY DEFINER VIEW
lalu kamu bisa coba eksekusi SQL querynya kembali. Seharusnya dengan cara diatas proses import SQL akan berjalan lancar.
Semoga artikel ini membantu ya bro!