Problem Error ” #1044″ Saat Upload Database ke PHP My Admin
Apakah kamu pernah menemukan error “#1044 – Access denied for user ‘namauser’@’localhost’ to database ‘database'” saat mengunggah file database ke phpMyAdmin di akun hosting?
Error ini bisa disebabkan oleh beberapa hal berikut :
- Kamu belum membuat database melalui cPanel -> Databases -> MySQL Database.
- Database sudah dibuat, namun belum kamu pilih saat proses import.
- Database sudah dibuat dengan nama/format “nama_database”, tetapi file yang kamu unggah diekspor dengan nama “database” (tidak sesuai).
Pada dasarnya ada dua cara untuk mengekspor data kedalam database, yaitu :
1. Export Database, biasanya cara Export nya langsung dari Tab ‘Localhost’ :
2. Export Table, biasanya cara Export nya memilih dahulu nama databasenya, ‘Localhost->NamaDatabase’ :
Jika diperhatikan secara lebih rinci, hasil export yang dihasilkan dari kedua metode tersebut menunjukkan adanya perbedaan, khususnya pada struktur query SQL yang dihasilkan. Perbedaan ini dapat terlihat dari sintaks atau format perintah yang digunakan dalam masing-masing file hasil export, yaitu sebagai berikut:
1. Export Database :
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl3
-- http://www.phpmyadmin.net
--
-- Database `wp_knowledge_base`
--
CREATE DATABASE IF NOT EXISTS `wp_knowledge_base` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE wp_knowledge_base;
2. Export Table
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl3
-- http://www.phpmyadmin.net
--
-- Database `wp_knowledge_base`
--
CREATE TABLE IF NOT EXISTS employees (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
hire_date DATE,
salary DECIMAL(10,2),
department_id INT,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (department_id) REFERENCES departments(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Sebagaimana terlihat pada query, hanya sedikit komponen yang diperlukan dalam pernyataan CREATE DATABASE. Meski sederhana, query tersebut juga dapat mencakup beberapa elemen opsional, salah satunya adalah klausa IF NOT EXISTS. Klausa ini berfungsi untuk mengatur bagaimana MySQL merespons perintah CREATE DATABASE apabila database dengan nama yang sama sudah tersedia.
Jika database tersebut memang sudah ada namun klausa IF NOT EXISTS tidak disertakan, maka MySQL akan menampilkan pesan error yang menyatakan bahwa database tersebut telah ada. Sebaliknya, jika klausa IF NOT EXISTS digunakan, MySQL hanya akan memberikan peringatan, tanpa menghentikan eksekusi atau menampilkan error.
Dengan kata lain, terlepas dari apakah klausa tersebut digunakan atau tidak, efek terhadap database tetap sama: MySQL tidak akan membuat ulang database yang sudah ada.
Berikut adalah solusi untuk menghindari error tersebut:
- Pastikan kamu mengeksport Table-table nya saja dari Localhost
- Pastikan kamu telah membuat Database dan User Database pada cPanel->Databases->My SQL Database
- Periksa/pastikan kembali bahwa Table-Table telah terimport dengan lengkap.
Sekian penjelasan mengenai error “#1044” pada kali ini. Apabila terdapat kesulitan saat melakukan langkah-langkah diatas silakan hubungi Tim Teknis kami (Qwords.com) melalui Support Ticket :D.


