"Koneksi untuk pengguna kontrol sebagaimana didefinisikan dalam konfigurasi Anda gagal" dengan phpMyAdmin di XAMPP


127

Saya baru saja menginstal XAMPP pada mesin Windows XP saya, dan saya mendapatkan pesan kesalahan:

Sambungan untuk pengguna kontrol sebagaimana didefinisikan dalam konfigurasi Anda gagal.

Sebelum saya menginstal XAMPP, saya memiliki database MySQL yang diinstal dan memiliki kata sandi. Saya mengubah dan memasukkan kata sandi di config.inc.php untuk MySQL, dan saya mendapatkan kesalahan ini:

<?php
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
} else {
    $uri = 'http://';
}
$uri .= $_SERVER['HTTP_HOST'];
header('Location: '.$uri.'/xampp/');
exit;
?>

Ketika saya mencoba mengakses index.php, sepertinya ada yang salah dengan instalasi XAMPP. Apa yang bisa saya lakukan untuk memperbaiki masalah ini?


19
IMHO pertanyaan semacam ini cukup umum dan banyak waktu terbuang untuk memperbaikinya. Juga dengan "ruang lingkup masalah yang ditentukan", ini masih bisa diperdebatkan jika kita dapat menempatkan pencarian seperti itu di bawah "perangkat lunak. Alat yang biasa digunakan oleh pemrogram" atau "adalah praktis, masalah yang dapat dijawab yang unik untuk pengembangan lunak ". Jadi saya meminta veteran SO untuk mempertimbangkan posting seperti itu dengan cermat sebelum menandai" di luar topik ". SO menjadi tujuan tepercaya untuk menyelesaikan masalah pemrograman, dari orang-orang yang telah menghadapi dan menyelesaikannya. Jadi akan sangat membantu bagi programmer untuk mendapatkan jawaban yang tepat di sini daripada mencari di tempat lain untuk masalah seperti itu.
Dexter

Jawaban:


243
  1. Buka phpMyAdmin di browser dan masuk sebagai root.
  2. Buat database bernama phpmyadmin
  3. Buat pengguna yang dipanggil pmadan atur "host" ke nama host atau alamat IP dari server web Anda (jika server web dan MySQL menggunakan kotak yang sama localhost), buat catatan kata sandi, dan berikan kontrol penuh kepada pengguna baru tersebut atas yang phpmyadminbasis data. Disarankan agar pengguna ini tidak memiliki akses ke apa pun selain dari basis data ini.
  4. Pergi ke direktori instalasi phpMyAdmin, di mana Anda akan menemukan sub-direktori bernama sql.
  5. Di dalam sqlAnda akan menemukan file bernama create_tables.sql. Buka di editor teks.
  6. Di phpMyAdmin, pilih phpmyadmindatabase dan klik pada tab "SQL".
  7. Salin / tempelkan seluruh teks dari create_tables.sqlke dalam kotak teks, dan jalankan kueri.
  8. Buka config.inc.phpfile di direktori instal phpMyAdmin, dan tambahkan baris berikut (atau ubah pengaturan yang sudah ada jika sudah ada):

    $cfg['Servers'][1]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][1]['controluser'] = 'pma';
    $cfg['Servers'][1]['controlpass'] = '<your password>';
    
    // Note: The list below may grow as PMA evolves and more control tables are added
    // Use your common sense! Don't just blindly copypasta, look at what it means!
    $cfg['Servers'][1]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][1]['relation'] = 'pma_relation';
    $cfg['Servers'][1]['userconfig'] = 'pma_userconfig';
    $cfg['Servers'][1]['table_info'] = 'pma_table_info';
    $cfg['Servers'][1]['column_info'] = 'pma_column_info';
    $cfg['Servers'][1]['history'] = 'pma_history';
    $cfg['Servers'][1]['recent'] = 'pma_recent';
    $cfg['Servers'][1]['table_uiprefs'] = 'pma_table_uiprefs';
    $cfg['Servers'][1]['tracking'] = 'pma_tracking';
    $cfg['Servers'][1]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][1]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][1]['designer_coords'] = 'pma_designer_coords';
  9. Simpan dan tutup file.

PENTING - PMA memuat konfigurasi saat masuk, mengevaluasi dan menyimpannya ke dalam data sesi sehingga pesan tidak akan hilang sampai Anda melakukan ini:

  1. Keluar dari phpMyAdmin dan masuk lagi

Masalah terpecahkan.


3
+1 untuk "keluar dan masuk kembali". Saya membuang waktu lima menit tanpa menyadari bahwa saya harus melakukan itu.
Matthew G

1
@ MatthewG Ya file konfigurasi dimuat ke sesi Anda pada titik di mana Anda log in untuk mengurangi disk I / O, sehingga ^^ berlaku untuk setiap perubahan yang Anda buat pada file konfigurasi PMA
DaveRandom

14
Untuk beberapa alasan, versi phpmyadmin saya menggunakan nama tabel sebagai "pma__bookmark" dan seterusnya dengan 2 "garis bawah". Jika ada yang mengalami hal yang sama, maka Anda harus mengedit "config.inc.php" yang sesuai. Dan BTW file config terletak di direktori "/ etc / phpmyadmin" di Ubuntu
ajaybc

6
Di Ubuntu 14.04 lokasi untuk create_tables.sql ada di dalam /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz
karlingen

5
Ini adalah jawaban yang sangat baik (yang ke-100 +dari saya;)). Namun, saya tidak menemukan contoh direktori di mana menunjuk pada langkah 4. Sebaliknya itu di sini: /usr/share/doc/phpmyadmin/examplesdan di sana saya menemukan dikompresi file sql: create_tables.sql.gz.
Majid Fouladpour

134

Jika Anda sampai di sini dan Anda menggunakan Debian / Ubuntu (atau distro berbasis dpkg lainnya), jalankan perintah berikut:

sudo dpkg-reconfigure phpmyadmin

Paket phpmyadmin berisi skrip untuk melakukan operasi ini untuk Anda, semua yang dibutuhkan adalah pengguna dengan izin. sudo tidak diperlukan jika Anda masuk sebagai root, tentu saja.

EDIT: Mungkin ada baiknya mencoba untuk menjatuhkan pengguna phpmyadmin saat ini.


2
Ini bekerja untuk saya, saya hanya perlu menginstal ulang database yang diminta. Terima kasih. (Ubuntu 12.04)
ino

17
Saya harus mengetikkan "pma" alih-alih "phpmyadmin" untuk pengguna kontrol selama konfigurasi untuk membuat pekerjaan ini.
Hardell

1
Terima kasih, Anda menyelamatkan hari saya :) hehe
Jeremy Dicaire

2
Menjatuhkan pengguna 'phpmyadmin' terlebih dahulu dan menjalankan 'sudo dpkg-mengkonfigurasi ulang phpmyadmin' setelah bekerja untuk saya. Terima kasih!
bshea

1
Catatan: ini akan menghapus semua server yang dikonfigurasi, jika ada.
Raptor

23

Komentari seluruh blok kode "Pengguna untuk fitur-fitur canggih" dan "Fitur-fitur phpMyAdmin tingkat lanjut" config.inc.php.


Ada penjelasan untuk ini? Bagaimana dan mengapa ini bekerja?
Huey

1
@ Ben: Kadang-kadang itu semua hal;)
beruntun

Di mana file .... Ini sangat tidak informatif! Tapi semua orang mengerti jadi saya merasa bodoh dan tidak bisa memperbaikinya lol double loss!
Jamie Hutber

2
Itu akan config.inc.php
Rocoty

1
Tidak ada yang seperti User for advanced features" and "Advanced phpMyAdmin featuresdi dalamphpmyadmin/config.inc.php
AN

11

Apakah Anda baru saja mengubah kata sandi root MySQL Server Anda? Jika jawabannya YA, maka ini adalah penyebab kesalahan / peringatan di dalam konsol phpMyAdmin. Untuk memperbaiki masalah ini, cukup edit file config-db.php phpMyAdmin Anda dan atur kata sandi database yang tepat.

Jawaban pertama terlalu banyak mengacaukan pandangan saya dan jawaban kedua tidak berhasil untuk saya. Begitu:

Di server berbasis Linux file biasanya terletak di:

/etc/phpmyadmin/config-db.php

atau:

/etc/phpMyAdmin/config-db.php

Contoh: (File Saya terlihat seperti ini dan saya mengubah pengguna dari phpmyadminmenjadi admin, nama pengguna yang saya buat untuk memelihara database saya melalui phpmyadmin, dan memasukkan kata sandi yang sesuai.

$dbuser='phpmyadmin';
$dbpass=''; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

kredit: http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/


4

Ini bekerja untuk saya dengan phpmyadmin di bawah Ubuntu 16.04:

Saya mengedit /etc/phpmyadmin/config.inc.php dan mengubah 2 baris berikut:

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot'; 

3

Di Ubunbtu.

Pesan Ben dekat tetapi bukan kata sandi root yang menjadi masalah, masalah yang saya temukan adalah saya telah membuat kata sandi untuk database phpmyadmin ketika saya menginstalnya. Kata sandi ini tidak dibawa ke instalasi di ubuntu sehingga variabel $ dbpass = ''; dalam file pengaturan database kosong dan bukan kata sandi yang Anda atur.

  1. Untuk memeriksa Anda memiliki kata sandi yang tepat pada baris perintah, login ke mysql menggunakan perintah berikut: mysql -u phpmyadmin -p coba kata sandi kosong. Saya menemukan saya mendapat akses ditolak, masukkan perintah lagi menggunakan kata sandi yang Anda atur saat instalasi. Jika login, Anda sekarang tahu apa kata sandinya.
  2. Edit /etc/phpadmin/config-db.php dan ubah $ dbpass = ''; to $ dbpass = 'Kata Sandi Anda';dan simpan file tersebut.
  3. Edit /etc/dbconfig-common/phpmyadmin.conf ubah dbc_dbpass = '' ; to dbc_dbpass = 'Kata Sandi Anda'; dan simpan file tersebut. Tutup peramban Anda dan muat ulang sekarang Anda akan menemukan pesannya telah hilang.


0

Masalahnya adalah bahwa kata sandi kontrol pengguna PhpMyAdmin (biasanya: pma) tidak cocok dengan kata sandi pengguna mysql: pma (pengguna yang sama).

Untuk memperbaikinya, 1. Tetapkan kata sandi yang Anda inginkan untuk pma pengguna di sini:

"C: \ xampp \ phpMyAdmin \ config.inc.php"

$ cfg ['Server'] [$ i] ['controlpass'] = 'your_new_phpmyadmin_pass';

(harus seperti pada baris 32)

Lalu pergi ke mysql, login sebagai root, pergi ke: (Saya menggunakan phpmyadmin untuk pergi ke sini)

Basis data: mysql »Tabel: pengguna

Edit pengguna: pma

Pilih "Kata Sandi" dari daftar fungsi (kolom kiri) dan set "your_new_phpmyadmin_pass" di kolom kanan dan tekan go.

Mulai ulang server mysql.

Sekarang pesannya akan hilang.


0

Saya hanya cukup melakukan perubahan pada file config.inc.php. Ada kesalahan kata sandi di tautan ini $ cfg ['Server'] [$ i] ['kata sandi'] = 'kata sandi Anda'; dan sekarang ini bekerja dengan sempurna.


harap edit pertanyaan Anda dan tambahkan detail lainnya. Ini berkualitas rendah.
Mathews Sunny

Di atas adalah resolusi, saya belum mengikuti langkah-langkah di atas. Saya cukup pergi ke direktori config.inc.php dan buka file ini config.inc.php di notepad dan ubah baris ini $ cfg ['Server'] [$ i] ['kata sandi'] = 'kata sandi Anda'
Mohit Sharma

Saya melihat kata sandi disebutkan ada yang salah dan saya memasukkan kata sandi yang benar lagi dan menyimpannya dan menjalankan phpmyadmin lagi dan berfungsi dengan benar sekarang
Mohit Sharma

0

di ubuntu /etc/phpmyadmin/config-db.php

pastikan kata sandi cocok dengan config.inc.php Anda untuk pengguna kontrol

juga untuk kesalahan blowfish terlalu pendek

edit /var/lib/phpmyadmin/blowfish_secret.inc.php dan buat kuncinya lebih panjang


0

di ubuntu 18.04 di etc/phpmyadmin/config.inc.php komentar semua blok

Opsional: Pengguna untuk fitur-fitur canggih


-1

Baru saja menginstal XAMPP hari ini, saya memutuskan untuk menggunakan port default yang berbeda untuk mysql, yang mengerikan. Pastikan untuk menambahkan baris ini ke phpMyAdmin config.inc.php:

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['port'] = 'port';`
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.