XAMPP'de phpMyAdmin ile "yapılandırmanızda tanımlandığı gibi kontrol kullanıcısı için bağlantı başarısız oldu"


127

XAMPP'yi Windows XP makineme yeni yükledim ve şunu söyleyen bir hata alıyorum:

Yapılandırmanızda tanımlandığı gibi kontrol kullanıcısı bağlantısı başarısız oldu.

XAMPP'yi kurmadan önce, bir MySQL veritabanı kurdum ve bir parolası vardı. Parolayı değiştirip MySQL için config.inc.php dosyasına koydum ve şu hatayı aldım:

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

İndex.php'ye erişmeye çalıştığımda, XAMPP kurulumunda bir sorun var gibi görünüyor. Bu sorunu çözmek için ne yapabilirim?


19
IMHO bu tür sorular oldukça yaygındır ve bunları düzeltmek için çok zaman harcanır. Ayrıca "tanımlanmış sorun kapsamı" nedeniyle, bu tür bir soruyu "programcılar tarafından yaygın olarak kullanılan yazılım aracı" veya " Yumuşak gelişime özgü pratik, yanıtlanabilir sorun ". Bu nedenle, SO gazilerinden" konu dışı "seçeneğini işaretlemeden önce bu tür gönderileri dikkatlice değerlendirmelerini rica ediyorum. SO'lar, onunla karşılaşan ve onu çözen kişilerden programlama sorununa ulaşmak için güvenilir, tek durak noktası haline geldi. Bu nedenle, programcının başka bir yerde böyle bir sorun aramaktansa tam cevabı burada alması yararlı olacaktır.
Dexter

Yanıtlar:


243
  1. Bir tarayıcıda phpMyAdmin'i açın ve kök olarak oturum açın.
  2. Adlı bir veritabanı oluşturun phpmyadmin
  3. Adlı bir kullanıcı oluşturun pmave "ana bilgisayar" ı web sunucunuzun ana bilgisayar adına veya IP adresine ayarlayın (web sunucusu ve MySQL aynı kutu kullanımındaysa localhost), parolayı bir yere not edin ve yeni kullanıcıya üzerinde tam denetim verin phpmyadminveri tabanı. Bu kullanıcının bu veritabanından başka hiçbir şeye erişimi olmaması tavsiye edilir.
  4. Adlı bir alt dizin bulmanız gereken phpMyAdmin kurulum dizinine gidin sql.
  5. In sqlsize adlı bir dosya bulacaksınız create_tables.sql. Bir metin düzenleyicide açın.
  6. PhpMyAdmin'de, phpmyadminveritabanını seçin ve "SQL" sekmesine tıklayın.
  7. Metnin tamamını create_tables.sqlmetin kutusuna kopyalayın / yapıştırın ve sorguyu çalıştırın.
  8. config.inc.phpDosyayı phpMyAdmin kurulum dizininde açın ve aşağıdaki satırları ekleyin (veya zaten varsa mevcut ayarları değiştirin):

    $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. Dosyayı kaydedin ve kapatın.

ÖNEMLİ - PMA oturum açma sırasında yapılandırmayı yükler, değerlendirir ve oturum verilerine kaydeder, böylece siz bunu yapana kadar mesaj kaybolmaz:

  1. PhpMyAdmin'den çıkın ve tekrar oturum açın

Sorun çözüldü.


3
"Oturumu kapat ve tekrar oturum aç" için +1. Bunu yapmam gerektiğini fark etmeden beş dakikamı boşa harcadım.
Matthew G

1
@MatthewG Evet, yapılandırma dosyası disk G / Ç'sini azaltmak için oturum açtığınız noktada oturumunuza yüklenir, böylece ^^ PMA yapılandırma dosyasında yapabileceğiniz herhangi bir değişiklik için geçerlidir
DaveRandom

14
Bazı nedenlerden dolayı, phpmyadmin sürümüm tablo adlarını "pma__bookmark" olarak alıyor ve bu şekilde 2 "alt çizgi" ile devam ediyor. Eğer herhangi biri aynısına sahipse, "config.inc.php" dosyasını buna göre düzenlemelisiniz. Ve BTW yapılandırma dosyası Ubuntu'daki "/ etc / phpmyadmin" dizininde bulunur
ajaybc

6
Ubuntu
14.04'te

5
Bu mükemmel bir cevaptır ( +benden 100. cevap ). Ancak, ben bulamadık örnekler adım 4'te işaret nerede dizin yerine burada olduğunu: /usr/share/doc/phpmyadmin/examplesve ben sıkıştırılmış sql dosyasını orada bulunan: create_tables.sql.gz.
Majid Fouladpour

134

Buraya geldiyseniz ve Debian / Ubuntu (veya herhangi bir dpkg tabanlı dağıtım) kullanıyorsanız, aşağıdaki komutu yürütün:

sudo dpkg-reconfigure phpmyadmin

Phpmyadmin paketi, bu işlemi sizin için gerçekleştirecek komut dosyasını içerir, tek ihtiyacı olan izinlere sahip bir kullanıcıdır. Tabii ki, root olarak giriş yaptıysanız sudo gerekli değildir.

DÜZENLEME: Mevcut phpmyadmin kullanıcısını bırakmaya değer olabilir.


2
Bu benim için çalıştı, sadece sorduğu veritabanını yeniden yüklemem gerekiyordu. Teşekkürler. (Ubuntu 12.04)
ino

17
Bunun çalışması için yapılandırma sırasında kontrol kullanıcısı için "phpmyadmin" yerine "pma" yazmam gerekiyordu.
Hardell 13

1
Teşekkürler, günümü kurtardın :) hehe
Jeremy Dicaire

2
Önce 'phpmyadmin' kullanıcısını bırakıp benim için çalıştıktan sonra 'sudo dpkg-reconfigure phpmyadmin' çalıştırıyorum. Teşekkürler!
bshea

1
not: bu, varsa tüm yapılandırılmış sunucuları silecektir.
Raptor

23

"Gelişmiş özellikler için Kullanıcı" ve "Gelişmiş phpMyAdmin özellikleri" kod bloklarının tamamını yorumlamanız yeterlidir config.inc.php.


Bunun için herhangi bir açıklama var mı? Bu nasıl ve neden çalışıyor?
Huey

1
@Ben: Bazen önemli olan budur;)
galibiyet

Hangi dosyalarda .... Bu çok bilgilendirici değil! Ama herkes anlıyor, bu yüzden kendimi aptal hissediyorum ve düzeltemiyorum lol çift kaybet!
Jamie Hutber

2
Bu config.inc.php olacaktır
Rocoty

1
User for advanced features" and "Advanced phpMyAdmin featuresİçerideki gibi bir şey yokphpmyadmin/config.inc.php
AN

11

MySQL Sunucusu kök şifrenizi yakın zamanda değiştirdiniz mi? Cevap EVET ise, phpMyAdmin konsolu içindeki hatanın / uyarının nedeni budur. Sorunu çözmek için phpMyAdmin'inizin config-db.php dosyasını düzenleyin ve uygun veritabanı şifresini ayarlayın.

İlk cevap benim görüşüme göre çok fazla karıştırıyor ve ikinci cevap benim için işe yaramadı. Yani:

Linux tabanlı sunucularda dosya genellikle şurada bulunur:

/etc/phpmyadmin/config-db.php

veya:

/etc/phpMyAdmin/config-db.php

Örnek: (My File böyle baktım ve kullanıcıyı değiştirdi phpmyadminiçin adminben phpmyadmin aracılığıyla benim veritabanını korumak için oluşturulan kullanıcı adı, ve uygun şifreyi koydu.

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

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


4

Bu, Ubuntu 16.04 altında phpmyadmin ile benim için çalıştı:

/Etc/phpmyadmin/config.inc.php dosyasını düzenledim ve aşağıdaki 2 satırı değiştirdim:

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

3

Ubunbtu'da.

Ben'in mesajı yakın ama sorun kök şifresi değil, bulduğum sorun phpmyadmin veri tabanı için kurduğumda bir şifre oluşturmuş olmamdı. Bu parola ubuntu'daki kuruluma taşınmaz, dolayısıyla değişken $ dbpass = ''; veritabanı ayarları dosyasında boş ve belirlediğiniz şifre değil.

  1. Komut satırında doğru parolaya sahip olduğunuzu kontrol etmek için aşağıdaki komutu kullanarak mysql'de oturum açın: mysql -u phpmyadmin -p boş bir parola deneyin Erişim engellendiğini fark ettim, kurulum sırasında belirlediğiniz parolayı kullanarak komutu tekrar girin. Giriş yaparsa, şimdi şifrenin ne olduğunu biliyorsunuz.
  2. Düzenleme /etc/phpadmin/config-db.php ve değişim = '' $ dbpass; için $ dbpass = 'Şifrenizi'; ve dosyayı kaydedin.
  3. Düzenle /etc/dbconfig-common/phpmyadmin.conf değişim dbc_dbpass = '' ; to dbc_dbpass = 'Şifreniz'; ve dosyayı kaydedin. Tarayıcınızı kapatın ve yeniden yükleyin, şimdi mesajın yoluna girdiğini göreceksiniz.


0

Sorun, PhpMyAdmin kontrol kullanıcısı (genellikle: pma) parolasının mysql kullanıcı: pma (aynı kullanıcı) parolasıyla eşleşmemesidir.

Düzeltmek için 1. Kullanıcı pma'sı için istediğiniz parolayı burada ayarlayın:

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

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

(32. satırdaki gibi olmalıdır)

Sonra mysql'e gidin, root olarak giriş yapın, gidin: (Buraya gitmek için phpmyadmin kullandım)

Veritabanı: mysql »Tablo: kullanıcı

Kullanıcıyı düzenleyin: pma

İşlev listesinden (sol sütun) "Şifre" yi seçin ve sağ sütunda "your_new_phpmyadmin_pass" ayarını yapın ve git'e basın.

Mysql sunucusunu yeniden başlatın.

Şimdi mesaj kaybolmalıdır.


0

Ben sadece config.inc.php dosyasında değişiklikler yapıyorum. Bu bağlantıda hatalı bir şifre var $ cfg ['Sunucular'] [$ i] ['şifre'] = 'şifreniz'; ve şimdi mükemmel şekilde çalıştı.


lütfen sorunuzu düzenleyin ve daha fazla ayrıntı ekleyin. Bu düşük kalitede.
Mathews Sunny

Yukarıdaki çözüm, yukarıdaki adımları takip etmedim. Sadece config.inc.php dizinine gidiyorum ve bu dosyayı config.inc.php not defterinde açıyorum ve bu satırı değiştirdim $ cfg ['Sunucular'] [$ i] ['parola'] = 'şifreniz'
Mohit Sharma

Parolanın yanlış olduğundan bahsedildiğini gördüm ve doğru parolayı tekrar girip kaydettim ve phpmyadmin'i tekrar çalıştırdım ve şimdi düzgün çalışıyor
Mohit Sharma

0

ubuntu /etc/phpmyadmin/config-db.php üzerinde

kontrol kullanıcısı için şifrenizin config.inc.php ile eşleştiğinden emin olun

ayrıca balon balığı için çok kısa hata

/var/lib/phpmyadmin/blowfish_secret.inc.php'yi düzenleyin ve anahtarı daha uzun hale getirin


0

ubuntu 18.04'te etc/phpmyadmin/config.inc.php tüm bloğa yorumda

İsteğe bağlı: Gelişmiş özellikler için kullanıcı


-1

Bugün XAMPP'yi yeni yükledikten sonra, mysql için korkunç olan farklı bir varsayılan bağlantı noktası kullanmaya karar verdim. Bu satırları phpMyAdmin'e eklediğinizden emin olun config.inc.php:

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

$cfg['Servers'][$i]['port'] = 'port';`
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.