SSS - Sıkça Sorulan Sorular

Lütfen phpMyAdmin’nin özelliklerinin ve/veya arayüzünün derinlemesine kapsamı için phpMyAdmin ana sayfasındaki Bağlantı bölümü’müze bir göz atın.

Sunucu

1.1 Sunucum belirli eylemler gerektiğinde her seferinde arızalanıyor ya da phpMyAdmin boş sayfa gönderiyor veya tarayıcımda sayfa şifreli karakterlerle doluyor, ne yapabilirim?

config.inc.php dosyanızdaki $cfg['OBGzip'] yönergesini false ve php yapılandırma dosyanızdaki zlib.output_compression yönergesini Off olarak ayarlamayı deneyin.

1.2 phpMyAdmin kullandığımda Apache sunucum arızalanıyor.

Önce Apache’nin (ve mümkünse MySQL’in) en son sürümünü denemelisiniz. Eğer sunucunuz arızalanmaya devam ederse, lütfen çeşitli Apache destek gruplarından yardım isteyin.

1.3 (geri alındı).

1.4 IIS üzerinde phpMyAdmin kullanımında, hata mesajı alıyorum: “Belirlenen CGI uygulaması HTTP başlıklarının tam bir grubunu döndürmeyerek uygunsuz davrandı …”.

Şimdi PHP dağıtımındaki install.txt dosyasını okumayı bırakın. Resmi PHP hata veritabanından bu PHP hata raporu #12061 içindeki son mesaja bir bakın.

1.5 IIS üzerinde phpMyAdmin kullanımında, HTTP ile birçok hata mesajı ve/veya arızalarla yüz yüze kalıyorum.

Bu, PHP ISAPI süzgeci ile ilgili bilinen bir sorundur: o kadar sağlam değildir. Lütfen onun yerine tanımlama bilgisi kimlik doğrulaması kipi kullanın.

1.6 PWS’de phpMyAdmin kullanamıyorum: hiçbir şey görüntülenmiyor!

Bu bir PWS hatası gibi görünüyor. Filippo Simoncini geçici bir çözüm buldu (şu anda daha iyi bir düzeltme yok): src/Header.php ve index.php betiklerinden DOCTYPE bildirimlerini (2 satır) yorumlayın ya da kaldırın.

1.7 Nasıl gzip dökümü alabilirim ya da CSV olarak dışa aktarabilirim? Bu çalışıyor görünmüyor.

Bu özellik platformun (Unix/Windows, Güvenli Kip veya değil, ve benzeri) daha bağımsız olması için gzencode() PHP işlevi tabanlıdır. Bu yüzden, Zlib desteğine (--with-zlib) sahip olmak zorundasınız.

1.8 Tabloya metin dosyası ekleyemiyorum ve güvenli kipin etkili olmasıyla ilgili bir hata alıyorum.

Gönderilen dosyanız php.ini içindeki upload_tmp_dir (genellikle sistem varsayılanı /tmp’dir) değişkeniyle tanımlanan “gönderme dizini” içine PHP tarafından kaydedilir. Aşağıdaki ayarlamayı güvenli kipte çalışan Apache sunucuları için öneririz, dosyaların gönderilmesini oldukça güvenli yaparak etkinleştirmek için:

  • göndermeler için ayrı dizin oluşturun: mkdir /tmp/php
  • Apache sunucusunun user.group’a sahiplik verin: chown apache.apache /tmp/php
  • uygun izni verin: chmod 600 /tmp/php
  • php.ini içine upload_tmp_dir = /tmp/php koyun
  • Apache’yi yeniden başlatın

1.9 (geri alındı).

1.10 Güvenli bir sunucu üzerinde çalışan phpMyAdmin ile dosyaları gönderirken sorun yaşıyorum. Tarayıcım Internet Explorer ve Apache sunucusu kullanıyorum.

phpWizard forumunda “Rob M”in önerdiğine göre bu satırı httpd.conf dosyanızın içine ekleyin:

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Internet Explorer ve SSL arasındaki çoğu sorunu hallettiği görünüyor.

1.11 İçe aktarma sekmesinden bir dosya gönderirken bir ‘open_basedir kısıtlaması’ alıyorum.

2.2.4 sürümünden bu yana, phpMyAdmin open_basedir kısıtlamalarıyla sunucuları destekler. Ancak geçici dizin oluşturmanız ve $cfg['TempDir'] olarak yapılandırmanız gerekir. Gönderilmiş dosyalar buraya taşınacaktır ve SQL komutlarınızın yürütülmesinden sonra kaldırılacaktır.

1.12 MySQL root parolamı kaybettim, ne yapabilirim?

phpMyAdmin, kullandığınız MySQL sunucusuna karşı kimlik doğrulaması yapar, böylece phpMyAdmin’i parola kaybından kurtarmak için MySQL düzeyinde kurtarmanız gerekir.

MySQL kılavuzu izinleri nasıl sıfırlayacağınızı anlatır.

Eğer barındırma sağlayıcınız tarafından yüklü MySQL sunucusu kullanıyorsanız, parolanızı kurtarmak için lütfen desteği ile irtibata geçin.

1.13 (geri alındı).

1.14 (geri alındı).

1.15 mysql.user sütun adlarıyla sorunlarım var.

Önceki MySQL sürümlerinde, User ve Password sütunları user ve password olarak adlandırılırdı. Lütfen sütun adlarınızı şu anki standartlarla hizalamak için değiştirin.

1.16 Büyük döküm dosyalarını gönderemiyorum (bellek, HTTP ya da zaman aşımı sorunları).

2.7.0 sürümünden başlayarak, içe aktarma motoru yeniden yazıldı ve bu sorunlar meydana gelmemelidir. Eğer mümkünse, yeni içe aktarma özelliklerinin avantajından yararlanmak için phpMyAdmin’inizi en son sürüme yükseltin.

Kontrol edilecek (veya kontrol etmesi için anamakine sağlayıcısına sorulacak) ilk şeyler php.ini yapılandırma dosyası içindeki max_execution_time, upload_max_filesize, memory_limit ve post_max_size değerleridir. Tüm bu ayarlar PHP tarafından işlenen ve gönderilebilen en fazla veri boyutunu sınırlandırır. Lütfen post_max_size değerinin upload_max_filesize değerinden daha büyük olması gerektiğini unutmayın. Eğer gönderdiğiniz çok büyükse veya barındırma hizmeti sağlayıcınız ayarları değiştirmeye isteksizse birkaç geçici çözüm mevcut:

  • $cfg['UploadDir'] özelliğine bakın. Bu, scp, FTP veya sık kullandığınız dosya aktarım yönteminizle bir dosyayı göndermenize izin verir. phpMyAdmin ondan sonra dosyaları geçici dizinden içe aktarabilir. Daha fazla bilgi bu belgenin Yapılandırma bölümünde mevcuttur.

  • Göndermeden önce dosyaları bölmek için yardımcı uygulama (BigDump gibi) kullanmak. Bunu ya da herhangi üçüncü taraf uygulamaları destekleyemiyoruz ama kullanıcıların bununla başarılı olduğundan bilgimiz var.

  • Eğer kabuk (komut satırı) erişiminiz varsa, doğrudan dosyaları içe aktarmak için MySQL kullanın. Bunu MySQL içinden “source” komutunu vererek yapabilirsiniz:

    source filename.sql;
    

1.17 phpMyAdmin hangi Veritabanı sürümlerini destekliyor?

MySQL için 5.5 ve daha yeni sürümleri desteklenir. Daha eski MySQL sürümleri için İndirmeler sayfamız daha eski phpMyAdmin sürümlerini (desteklenmiyor olabilir) sunar.

MariaDB için 5.5 ve daha yeni sürümleri desteklenir.

1.17a MySQL sunucusuna bağlanamıyorum. Her zaman hata mesajı döndürüyor, “İstemci, sunucu tarafından istenen kimlik doğrulaması protokolünü desteklemiyor; MySQL istemcisinin yükseltilmesi düşünülmeli”

MySQL’e eski bir MySQL istemci kütüphanesiyle erişmeyi denediniz. MySQL istemci kütüphanesinin sürümü phpinfo() çıktınızda kontrol edilebilir. Genelde, bu, sunucunuz gibi en az aynı ufak sürüme sahip olmalıdır - 1.17 phpMyAdmin hangi Veritabanı sürümlerini destekliyor? içinde bahsedildiği gibi. Bu soruna genel olarak MySQL sürümü 4.1 veya daha yenisi neden olur. MySQL kimlik doğrulaması adreslemesini değiştirdi ve PHP’niz eski yöntemi kullanmaya çalışıyor. Uygun çözüm, MySQL kurulumuyla eşleşen, uygun istemci kütüphanesi ile mysqli uzantısını kullanmaktır. Daha fazla bilgi (ve birkaç geçici çözüm) MySQL Belgesinde yer almaktadır.

1.18 (geri alındı).

1.19 “Görüntüleme ilişkileri” özelliğini çalıştıramıyorum çünkü betik, kullandığım yazı tipi yüzünü bilmiyor görünüyor!

Bu özellik için kullandığımız TCPDF kütüphanesi yazı tipi yüzlerini kullanmak için bazı özel dosyalar gerektirir. Lütfen bu dosyaları yapmak için TCPDF kılavuzuna başvurun.

1.20 Eksik mysqli ve mysql uzantıları ile ilgili bir hata alıyorum.

Bir MySQL sunucusuna bağlanmak için PHP’nin “MySQL uzantısı” olarak adlandırılan MySQL işlevleri grubuna ihtiyacı vardır. Bu uzantı PHP dağıtımının parçası (birlikte derlenmiş) olabilir, ayrıca dinamik olarak yüklenmesi gerekebilir. Adı büyük olasılıkla mysqli.so veya php_mysqli.dll’dir. phpMyAdmin uzantıyı yüklemeyi denemiştir ama başarısız olmuştur. Genellikle, sorun “PHP-MySQL” veya benzer bir şey adında bir yazılım paketini yükleyerek çözülür.

MySQL uzantıları olarak PHP’nin sağladığı iki arayüz vardı - mysql ve mysqli. mysql arayüzü PHP 7.0 sürümünde kaldırıldı.

Bu soruna ayrıca php.ini içindeki yanlış yollar ya da yanlış php.ini kullanımı neden olabilir.

extension_dir dizinini işaret eden klasör içinde uzantı dosyalarının olduğundan ve php.ini dosyanız içinde karşılık gelen satırların derleme dışı bırakılmadığından emin olun (şu anki kurulumu kontrol etmek için phpinfo() kullanabilirsiniz):

[PHP]

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Apache2/modules/php/ext"

php.ini dosyası birkaç yerden yüklenebilir (özellikle Windows’ta), bu yüzden lütfen doğru olanı güncellediğinizi kontrol edin. Eğer Apache kullanılıyorsa, PHPIniDir yönergesini kullanarak bu dosya için belirli bir yol kullanmasını söyleyebilirsiniz:

LoadModule php7_module "C:/php7/php7apache2_4.dll"
<IfModule php7_module>
    PHPIniDir "C:/php7"
    <Location>
       AddType text/html .php
       AddHandler application/x-httpd-php .php
    </Location>
</IfModule>

Bazı nadir durumlarda bu soruna ayrıca MySQL uzantılarının yüklenmesini engelleyen PHP’de yüklü diğer uzantılar neden olabilir. Eğer başka bir şey başarısız olursa, diğer veritabanları için uzantıları php.ini dosyasından derleme dışı bırakmayı deneyebilirsiniz.

1.22 “Metin dosyası yeri” alanını göremiyorum bu yüzden gönderemiyorum.

Bu büyük ihtimalle php.ini içinden kaynaklanıyor, file_uploads parametreniz “on” olarak ayarlı değil.

1.23 Win32 makinede MySQL çalıştırıyorum. Her defasında yeni bir tablo oluşturduğumda tablo ve sütun adları küçük harfe değiştiriliyor!

Bu oluyor çünkü MySQL’in Win32 sürümü içinde lower_case_table_names yönergesi varsayılanı 1 (AÇIK). Yönergeyi basitçe 0’a (KAPALI) değiştirerek bu davranışı değiştirebilirsiniz: Sadece Windows dizininiz içinde bulunması gereken my.ini dosyanızı düzenleyin ve aşağıdaki satırı [mysqld] grubuna ekleyin:

set-variable = lower_case_table_names=0

Not

Büyük küçük harfe duyarlı bir dosya sisteminde bu değişkeni –lower-case-table-names=0 ile 0’a zorlamak ve farklı büyük küçük harf kullanarak MyISAM tablo adlarına erişmek, indeks bozulmasıyla sonuçlanabilir.

Sonra, dosyayı kaydedin ve MySQL hizmetini yeniden başlatın. Sorgu kullanarak bu yönergenin değerini her zaman kontrol edebilirsiniz

SHOW VARIABLES LIKE 'lower_case_table_names';

1.24 (geri alındı).

1.25 Windows XP üzerinde mod_gzip-1.3.26.1a ile birlikte Apache çalıştırıyorum ve sorunlar yaşıyorum, mesela SQL sorgusu çalıştırdığımda ki tanımsız değişkenler gibi.

Jose Fandos’tan bir ipucu: httpd.conf içinde aşağıdaki iki satıra şöyle bir açıklama koyun:

# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"

Apache (Windows) üzerinde mod_gzip sürümü olarak PHP betikleri kullanma sorun olur. Elbette Apache’yi yeniden başlatmak zorundasınız.

1.26 phpMyAdmin’i henüz IIS’nin belge kök klasörü içine kurdum ama phpMyAdmin’i çalıştırmayı denediğimde “Belirtilmiş girdi dosyası yok” hatası alıyorum.

Bu izin sorunudur. Phpmyadmin klasörüne sağ tuşla tıklayın ve özellikleri seçin. Güvenlik sekmesi altında, “Düzenle -> Ekle -> Gelişmiş -> Şimdi Bul” ve listeden “IUSR” kullanıcısını seçin. Şimdi bunların izinlerini ayarlayın ve bunun çalışması gerekir.

1.27 Çok büyük bir sayfa görüntülemek istediğimde boş bir sayfa alıyorum (örn. bir yığın tabloyla db_structure.php).

Buna, GZIP çıktı arabelleklemesi etkinleştirildiğinde meydana gelen bir PHP hatası neden olmuştur. Eğer kapatırsanız (config.inc.php içinde $cfg['OBGzip'] ayarlayarak), çalışmalıdır. Bu hata PHP 5.0.0’da düzeltilmiştir.

1.28 MySQL sunucum bazen sorguları reddediyor ve ‘Errorcode: 13’ mesajını döndürüyor. Bu ne anlama geliyor?

lower_case_table_names değeri 1’e ayarlı olmasına rağmen veritabanı / tablo adlarında büyük harfli karakterler olduğunda bir MySQL hatasından dolayı bu olabiliyor. Bunu düzeltmek için bu yönergeyi kapatın, tüm veritabanı ve tablo adlarını küçük harfe dönüştürün ve tekrar açın. Alternatif olarak MySQL 3.23.56 / 4.0.11-gamma ile başlayan mevcut bir hata düzeltmesi vardır.

1.29 Bir tablo oluşturduğumda ya da sütun değiştirdiğimde, bir hata alıyorum ve sütunlar çoğalıyor.

PHP’nin .php dosyalarını yorumlama sorunlarının olduğu bir şekilde Apache’yi yapılandırmak mümkün.

Bu sorun iki farklı (ve çakışan) yönergeler grubu kullanıldığında meydana gelir:

SetOutputFilter PHP
SetInputFilter PHP

ve

AddType application/x-httpd-php .php

Gördüğümüz durumda, /etc/httpd/conf/addon-modules/php.conf içinde diğer grup varken, bir grup yönerge /etc/httpd/conf/httpd.conf içindeydi. Önerilen yol AddType ile, bu yüzden sadece satırların ilk grubunu derleme dışı bırakın ve Apache’yi yeniden başlatın:

#SetOutputFilter PHP
#SetInputFilter PHP

1.30 “navigation.php: Eksik adresleme” hatası alıyorum.

Bu sorunun, sunucu Turck MMCache çalıştırdığı zaman olduğu bilinir ama MMCache’i 2.3.21 sürümüne yükseltmek sorunu çözer.

1.31 phpMyAdmin hangi PHP sürümlerini destekliyor?

4.5 yayımından bu yana phpMyAdmin sadece PHP 5.5 ve daha yenisini destekler. 4.1 yayımından bu yana phpMyAdmin sadece PHP 5.3 ve daha yenisini destekler. PHP 5.2 için 4.0.x yayımlarını kullanabilirsiniz.

phpMyAdmin 4.6 sürümünden bu yana PHP 7, 4.6.5 sürümünden bu yana PHP 7.1, 4.7.4 sürümünden bu yana PHP 7.2 desteklenmektedir.

HHVM, phpMyAdmin 4.8 sürümüne kadar desteklenir.

5.0 yayımından bu yana phpMyAdmin sadece PHP 7.1 ve daha yenisini destekler. 5.2 yayımından bu yana phpMyAdmin sadece PHP 7.2 ve daha yenisini destekler. 6.0 yayımından bu yana phpMyAdmin sadece PHP 8.1 ve daha yenisini destekler.

1.32 Apache IIS ile >HTTP kimlik doğrulaması kullanabilir miyim?

Evet. Bu işlem IIS 5.1 altında ISAPI kipinde PHP 4.3.9, phpMyAdmin 2.6.1 ile denendi.

  1. php.ini dosyanız içinde, cgi.rfc2616_headers = 0 olarak ayarlayın
  2. Web Sitesi Özellikleri -> Dizin Güvenliği -> İsimsiz Erişim ileti kutusunda, İsimsiz erişim onay kutusunu işaretleyin ve herhangi bir diğer onay kutularından işaretleri kaldırın (yani eğer etkinleştirilirse, Basit kimlik doğrulaması, Bütünleşik Windows kimlik doğrulaması ve Özet kimlik doğrulaması işaretlerini kaldırın). TAMAM’a tıklayın.
  3. Özel Hatalar içinde 401;1’den 401;5’e kadar olan aralığı seçin ve Varsayılana Ayarla düğmesine tıklayın.

Ayrıca bkz.

RFC 2616

1.33 (geri alındı).

1.34 Doğrudan bir veritabanına ya da tablo sayfalarına erişebilir miyim?

Evet. İlk çalıştırma, http://sunucu/phpMyAdmin/index.php?server=X&db=database&table=table&target=script gibi bir URL kullanabilirsiniz. Sunucu için config.inc.php içindeki sayısal anamakine indeksini ($i olan) ifade eden sunucu sayısı kullanabilirsiniz. Tablo ve betik kısımları isteğe bağlıdır.

Eğer http://sunucu/phpMyAdmin/veritabanı[/table][/script] gibi bir URL istiyorsanız, bazı yapılandırmalar yapmanız gerekir. Aşağıdaki satırlar sadece Apache web sunucusu için uygulanır. Önce, Apache genel yapılandırmasıyla birlikte bazı özellikleri etkinleştirdiğinizden emin olun. phpMyAdmin’nin kurulu olduğu dizin için Options SymLinksIfOwnerMatch ve AllowOverride FileInfo parametrelerini etkinleştirmiş olmanız gerekir ve mod_rewrite’ın etkinleştirilmiş olmasına ihtiyacınız vardır. Ondan sonra sadece phpMyAdmin kurulumunun (içinde bulunduğu dizin adını değiştirmeyi unutmayın) kök klasöründe aşağıdaki .htaccess dosyasını oluşturmaya ihtiyacınız var:

RewriteEngine On
RewriteBase /path_to_phpMyAdmin
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]

5.1.0 sürümünde değişti: phpMyAdmin 5.1.0’da target parametresini kullanma desteği kaldırıldı. Bunun yerine route parametresini kullanın.

1.35 Apache CGI ile HTTP kimlik doğrulaması kullanabilir miyim?

Evet. Ancak aşağıdaki yeniden yazma kuralını kullanarak kimlik doğrulaması değişkenini CGI’a geçirmeniz gerekir:

RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

1.36 “500 İç Sunucu Hatası” hatası alıyorum.

Bunun için çok açıklama olabilir ve sunucunuzun hata günlük dosyasına bir bakın, bir ipucu verebilir.

1.38 Suhosin etkinleştirilen bir sunucuda phpMyAdmin kullanabilir miyim?

Evet ama Suhosin’in varsayılan yapılandırma değerlerinin bazı işlemlerle sorunlara neden olduğu bilinir, örneğin çok sütun ile ve primary key yoksa veya metinsel primary key ile bir tabloyu düzenlediğinizde.

Suhosin yapılandırması bazı durumlarda bozukluklara yol açabilir ve tek HTTP isteğinde büyük miktarlarda sütunların aktarılması gereken benzeri bir uygulama olan phpMyAdmin gibi tamamen önleyemez, Suhosin önlemeyi denediği şey neyse. Genel olarak tüm suhosin.request.*, suhosin.post.* ve suhosin.get.* yönergeleri phpMyAdmin kullanılabilirliği üzerinde olumsuz etkilere sahip olabilir. Hangi sınırın değişken düşümlerine neden olduğunu her zaman hata günlüklerinizde bulabilirsiniz, böylece sorunu teşhis edebilir ve eşleşen yapılandırma değişkenlerini ayarlayabilirsiniz.

Çoğu Suhosin yapılandırma seçenekleri için varsayılan değerler pek çok senaryoda çalışacaktır, ancak en az aşağıdaki parametreleri ayarlamak isteyebilirsiniz:

Güvenliği daha da artırmak için ayrıca bu değişiklikleri öneririz:

Aynı zamanda $cfg['SuhosinDisableWarning'] kullanarak uyarıyı etkisizleştirebilirsiniz.

1.39 Https yoluyla bağlanmayı denediğimde, oturum açabiliyorum ama ondan sonra bağlantım http’ye yeniden geri yönlendiriliyor. Bu davranışa ne neden olabilir?

Buna, sitenin https kullandığı bilgisine sahip olmayan PHP betikleri gerçeği neden olur. Kullanılan web sunucusuna bağlı olarak, buna erişmek için kullanılan URL ve şema hakkkında PHP’nin bilgi almasına izin vernek için bunu yapılandırmalısınız.

Örneğin Apache’de yapılandırma içinde SSLOptions ve StdEnvVars yönergelerini etkinleştirdiğinizden emin olun.

1.41 Veritabanını görüntülediğimde ve yetkilerini görmek için sorduğumda, bilinmeyen bir sütunla ilgili hata alıyorum.

MySQL sunucusunun yetki tabloları güncel değil, sunucuda mysql_upgrade komutunu çalıştırmanız gerekir.

1.42 Robot’ları phpMyAdmin’e erişimini nasıl önleyebilirim?

Kullanıcı tanıtıcı alanı tabanlı erişimi süzmek için .htaccess dosyasına çeşitli kuralları ekleyebilirsiniz. Bu kurtulmak için oldukça kolaydır ama en azından bazı robot’ların kurulumunuza erişimini önleyebilir.

RewriteEngine on

# Allow only GET and POST verbs
RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC,OR]

# Ban Typical Vulnerability Scanners and others
# Kick out Script Kiddies
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|wkito|pikto|scan|acunetix).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]

# Ban Search Engines, Crawlers to your administrative panel
# No reasons to access from bots
# Ultimately Better than the useless robots.txt
# Did google respect robots.txt?
# Try google: intitle:phpMyAdmin intext:"Welcome to phpMyAdmin *.*.*" intext:"Log in" -wiki -forum -forums -questions intext:"Cookies must be enabled"
RewriteCond %{HTTP_USER_AGENT} ^.*(AdsBot-Google|ia_archiver|Scooter|Ask.Jeeves|Baiduspider|Exabot|FAST.Enterprise.Crawler|FAST-WebCrawler|www\.neomo\.de|Gigabot|Mediapartners-Google|Google.Desktop|Feedfetcher-Google|Googlebot|heise-IT-Markt-Crawler|heritrix|ibm.com\cs/crawler|ICCrawler|ichiro|MJ12bot|MetagerBot|msnbot-NewsBlogs|msnbot|msnbot-media|NG-Search|lucene.apache.org|NutchCVS|OmniExplorer_Bot|online.link.validator|psbot0|Seekbot|Sensis.Web.Crawler|SEO.search.Crawler|Seoma.\[SEO.Crawler\]|SEOsearch|Snappy|www.urltrends.com|www.tkl.iis.u-tokyo.ac.jp/~crawler|SynooBot|crawleradmin.t-info@telekom.de|TurnitinBot|voyager|W3.SiteSearch.Crawler|W3C-checklink|W3C_Validator|www.WISEnutbot.com|yacybot|Yahoo-MMCrawler|Yahoo\!.DE.Slurp|Yahoo\!.Slurp|YahooSeeker).* [NC]
RewriteRule .* - [F]

1.43 Yüzlerce sütun içeren tablomun yapısını neden görüntüleyemiyorum?

Çünkü PHP’nizin memory_limit değeri çok düşük; php.ini içinde ayarlayın.

1.44 phpMyAdmin’in diskteki yüklü boyutunu nasıl düşürebilirim?

Bazı kullanıcılar phpMyAdmin yükleme boyutunu düşürebilmeyi istedi. Bu önerilmez ve üzerinde eksik özellikler karışıklığa neden olabilir, ama yapılabilir. Kaldırıldığında hassas bir şekilde küçültmeye yarayan işlevsellik ve dosyalar listesi:

  • ./locale/ klasörü, veya kullanılmayan alt klasörleri (arayüz çevirileri)
  • Varsayılan tema pmahomme dışında ./public/themes/ içindeki kullanılmayan temalar.
  • ./libraries/language_stats.inc.php (çeviri istatistikleri)
  • ./doc/ (belgeler)
  • ./setup/ (kur betiği)
  • ./examples/ (yapılandırma örnekleri)
  • ./sql/ (gelişmiş işlevsellikleri yapılandırmak için SQL betikleri)
  • ./js/src/ (./js/dist/ yeniden oluşturulacak kaynak dosyalar)
  • ./js/global.d.ts JS türü bildirim dosyası
  • rm -rv satıcı/tecnickcom/tcpdf && composer dump-autoload –no-interaction –optimize –dev komutunu çalıştırın (PDF’ye dışa aktarma)
  • rm -rv satıcı/williamdes/mariadb-mysql-kbs && composer dump-autoload –no-interaction –optimize –dev komutunu çalıştırın (MariaDB ve MySQL belgelerine harici bağlantılar)
  • rm -rv satıcı/kod-lts/u2f-php-server && composer dump-autoload –no-interaction –optimize –dev komutunu çalıştırın (U2F ikinci etkenli kimlik doğrulaması)
  • rm -rv satıcı/pragmarx/* && composer dump-autoload –no-interaction –optimize –dev komutunu çalıştırın (2FA ikinci etkenli kimlik doğrulaması)
  • rm -rv satıcı/bacon/bacon-qr-code && composer dump-autoload –no-interaction –optimize –dev komutunu çalıştırın (2FA ikinci etkenli kimlik doğrulaması için QR kodu oluşturma)

1.45 Oturum açmaya çalışırken bilinmeyen kimlik doğrulama yöntemi caching_sha2_password hakkında bir hata iletisi alıyorum

MySQL sürüm 8 veya daha yenisini kullanarak oturum açarken, şu gibi bir hata iletisi ile karşılaşabilirsiniz:

mysqli_real_connect(): Sunucu, istemci için bilinmeyen kimlik doğrulama yöntemi istedi [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): Sunucu, istemci için bilinmeyen kimlik doğrulama yöntemi istedi

Bu hata, PHP ve MySQL arasındaki sürüm uyumluluk sorunu yüzündendir. MySQL projesi yeni bir kimlik doğrulama yöntemini (bizim denemelermiz bunun sürüm 8.0.11 ile başladığını göstermektedir) tanıttı ancak PHP bu kimlik doğrulama yöntemini kullanma yeteneğini içermiyor. PHP, bunun PHP 7.4 sürümünde düzeltildiğini bildiriyor.

Bunu yaşayan kullanıcılara PHP kurulumlarını yükseltmeleri tavsiye edilir, ancak geçici bir çözümü var. MySQL kullanıcı hesabınız, şöyle bir komut ile eski kimlik doğrulamasını kullanmak için ayarlanabilir

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

Yapılandırma

2.1 “Uyarı: Başlık bilgisi eklenemiyor - … tarafından başlıklar zaten gönderildi” hata mesajı görüntüleniyor, sorun nedir?

config.inc.php dosyanızı düzenleyin ve <?php etiketinden önce ne başında ve ?> etiketinden sonra ne de sonunda hiçbir şey (yani boş satırlar, boşluklar, karakterler olmasın…) olmadığından emin olun.

2.2 phpMyAdmin, MySQL’e bağlanamıyor. Yanlış olan nedir?

Ya PHP ayarınızla ile ilgili bir hata vardır ya da kullanıcı adınız/parolanız yanlıştır. mysql_connect kullanan küçük bir betik yapmayı deneyin ve eğer çalışırsa görürsünüz. Eğer çalışmazsa, PHP içinde MySQL desteğini bile derlememiş olabilirsiniz.

2.3 “Uyarı: MySQL Bağlantısı Başarısız: Yerel MySQL sunucusuna ‘/tmp/mysql.sock’ (111) soketi aracılığıyla bağlanılamıyor…” hata mesajı görüntüleniyor. Ne yapabilirim?

Hata iletisi ayrıca şu olabilir: Hata #2002 - Sunucu yanıt vermiyor (veya yerel MySQL sunucusunun soketi şu anda doğru olarak yapılandırılmadı).

Önce, MySQL tarafından kullanılan soketi belirlemeniz gerekir. Bunu yapmak için sunucunuza bağlanın ve MySQL bin dizinine gidin. Bu dizinde mysqladmin adında bir dosya olmalı. ./mysqladmin variables yazın ve bu size MySQL sunucunuz hakkında bir takım bilgi vermeli, soket dahil (/tmp/mysql.sock, örneğin). Ayrıca bağlantı bilgisi için ISP’nize sorabilirsiniz ya da eğer kendinizde barındırıyorsanız, ‘mysql’ komut satırı istemcisinden bağlanın ve bağlantı türünü ve soketi ya da bağlantı noktasını almak için ‘status’ yazın.

Ondan sonra, PHP’ye bu soketi kullanmasını söylemeniz gerekir. Bunu php.ini içindeki tüm PHP için ya da sadece config.inc.php içinde sadece phpMyAdmin için yapabilirsiniz. Örneğin: $cfg['Servers'][$i]['socket'] Lütfen aynı zamanda bu dosyanın izinlerinin, web sunucunuz tarafından okunabilir olması için izin verdiğinden emin olun.

RedHat-Box’ımda MySQL soketi /var/lib/mysql/mysql.sock. php.ini dosyanızın içinde bir satır bulacaksınız

mysql.default_socket = /tmp/mysql.sock

şuna değiştirin

mysql.default_socket = /var/lib/mysql/mysql.sock

Ondan sonra apache’yi yeniden başlatın ve çalışacaktır.

Ayrıca MySQL belgelemesinin ilgili bölümüne bir gözatın.

2.4 phpMyAdmin’i çalıştırmayı denediğimde tarayıcımda hiçbir şey görüntülenmiyor, ne yapabilirim?

phpMyAdmin yapılandırma dosyasında $cfg['OBGzip'] yönergesini ayarlamayı deneyin. Bu bazen yardımcı olur. Ayrıca PHP sürüm numarasına bir göz atın: eğer “b” veya “alpha” içeriyorsa, PHP’nin deneme sürümünü çalıştırıyorsunuz anlamına gelir. Bu o kadar iyi bir fikir değildir, lütfen düz gözden geçirmeye yükseltin.

2.6 Localhost’um için bağlantı noktası yönlendirilmiş bir anamakinedeki MySQL Sunucusuna erişmeyi denerken “Şu kullanıcı için erişim reddedildi: ‘root@localhost’ (Parola kullanıyor: EVET)” hatası alıyorum.

Başka bir anamakineye bağlantı noktası yönlendirmesi yoluyla yeniden yönlendirdiğiniz localhost’unuzda bir bağlantı noktası kullanırken, MySQL beklendiği gibi localhost’u çözmüyor. Erik Wasser şöyle açıklıyor: Çözümü: eğer anamakineniz “localhost” ise MySQL (komut satırı aracı mysql de) her zaman bir şeyleri hızlandırmak için soket bağlantısı kullanmayı dener. Ve bu yapılandırma bağlantı noktası yönlendirmesiyle çalışmaz. Anamakine adı olarak “127.0.0.1” girerseniz, her şey doğru olur ve MySQL TCP bağlantısı kullanır.

2.7 Temaların kullanımı ve oluşturulması

Bakınız Özel Temalar.

2.8 “Eksik parametreler” hataları alıyorum, ne yapabilirim?

İşte kontrol etmeniz için birkaç nokta:

  • config.inc.php içinde $cfg['PmaAbsoluteUri'] yönergesini boş bırakmayı deneyin. Ayrıca bakınız 4.7 Kimlik doğrulaması penceresi birden fazla görüntüleniyor, neden?.
  • Belki bozuk PHP kurulumuna sahipsiniz ya da Zend Optimizer’ınızı yükseltmeniz gerekli. <https://bugs.php.net/bug.php?id=31134> adresine bakın.
  • Eğer ini yönergesi varfilter.max_request_variables ile Hardened PHP kullanıyorsanız, varsayılana (200) ayarlayın ya da başka bir düşük değere, eğer tablonuz yüksek sayıda sütuna sahipse, bu hatayı alabilirsiniz. Ona göre bu ayarı ayarlayın. (Klaus Dorninger’e ipucu için teşekkürler).
  • php.ini yönergesi arg_separator.input içindeki “;” değeri bu hataya neden olacaktır. Onu “&;” ile değiştirin.
  • Eğer Suhosin kullanıyorsanız, istek sınırlarını arttırmak isteyebilirsiniz.
  • php.ini içindeki session.save_path yönergesinde belirtilmiş dizin mevcut değil ya da salt-okunur (buna PHP yükleyicisi içindeki hata neden olabilir).

2.9 Gönderme ilerlemesi çubuğu görme

Göndermeleriniz sırasında ilerleme çubuğunu görebilmeniz için sunucunuz uploadprogress’in uzantısına sahip olmak zorunda ve PHP 5.4.0 veya üzerini çalıştırıyor olmak zorundasınız. Dahası PHP’nizde JSON uzantısı etkinleştirilmiş olmak zorundadır.

Eğer PHP 5.4.0 veya yükseğini kullanılıyorsa, php.ini dosyanız içindeki session.upload_progress.enabled’ı, 1 olarak ayarlamak zorundasınız. Ancak, phpMyAdmin sürüm 4.0.4’ten başlayarak oturum tabanlı gönderme ilerlemesi sorunlu davranışlarından dolayı geçici olarak devre dışı bırakıldı.

2.10 Rastgele bayt dizgisi nasıl oluşturulur

Kriptografik kullanıma uygun bir rastgele bayt dizgisi oluşturmanın bir yolu, ‘random_bytes <https://www.php.net/tr/random_bytes>’_ :term:’PHP’ işlevini kullanmaktır. Bu işlev bir ikili dizgi döndürdüğünden, döndürülen değer, kopyalanmadan önce yazdırılabilir biçime dönüştürülmelidir.

Örneğin, $cfg['blowfish_secret'] yapılandırma yönergesi 32 bayt uzunluğunda bir dizgi gerektirir. Bu dizginin onaltılık gösterimini oluşturmak için aşağıdaki komut kullanılabilir.

php -r 'echo bin2hex(random_bytes(32)) . PHP_EOL;'

Yukarıdaki örnek şuna benzer bir çıktı verecektir:

f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851

Ve ardından bu onaltılık değer yapılandırma dosyasında kullanılabilir.

$cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');

sodium_hex2bin işlevi burada onaltılık değeri ikili biçime dönüştürmek için kullanılır.

Bilinen kısıtlamalar

3.1 HTTP kimlik doğrulaması kullanıldığında, oturumu kapatan bir kullanıcı aynı takma ad ile tekrar oturum açamaz.

Bu, phpMyAdmin tarafından kullanılan kimlik doğrulaması mekanizmasıyla (protokol) ilgilidir. Bu sorunu atlatmak için: sadece tüm açılmış tarayıcı pencerelerini kapatın ve ondan sonra phpMyAdmin’e geri dönün. Tekrar oturum açabilmelisiniz.

3.2 Sıkıştırılmış kipte büyük bir tablo dökümlendiğinde, bellek sınırı hatası veya zaman sınırı hatası alıyorum.

Sıkıştırılmış dökümler bellek içinde yapılır ve bu php’nin bellek sınırlamasından dolayı kısıtlıdır. gzip/bzip2 dışa aktarmaları için 2.5.4’ten bu yana $cfg['CompressOnFly'] (varsayılan olarak etkinleştirildi) kullanılarak bunun üstesinden gelinebilir. zip dışa aktarmaları bu yolla baş edemez, bu yüzden büyük döküm için zip dosyalarına ihtiyacınız olursa, başka bir yol kullanmak zorundasınız.

3.3 InnoDB tablolar ile, tablo veya sütunu yeniden adlandırdığımda, dış anahtar ilişkilerini kaybettim.

Bu bir InnoDB hatasıdır, <https://bugs.mysql.com/bug.php?id=21704> adresine bakın.

3.4 MySQL sunucusu dağıtıma ile paketlenmiş mysqldump aracıyla oluşturduğum dökümleri içe aktaramamaktayım.

Sorun mysqldump’ın eski bir sürümünün oluşturduğu şunun gibi geçersiz açıklamalar:

-- MySQL dump 8.22
--
-- Host: localhost Database: database
---------------------------------------------------------
-- Server version 3.23.54

Kodun geçersiz kısmı mysqldump ile oluşturulmuş her döküm içinde görünen, çizgilerden yapılmış yatay satırdır. Eğer dökümünüzü çalıştırmak istiyorsanız, geçerli MySQL içerisine döndürmek zorundasınız. Bu, ilk iki çizgiden sonra boşluk ya da önce # eklemek zorundasınız anlamına gelir: -- ------------------------------------------------------- veya #---------------------------------------------------------

3.5 İç içe klasörler kullanıldığında, yanlış şekilde çoklu hiyerarşiler görüntülenir.

Lütfen unutmayın aralarında herhangi bir karakter olmadan çok kez ayırma dizgisi kullanmamalısınız ya da tablo adınızın başında/sonunda. Eğer zorundaysanız, başka bir TableSeparator kullanmayı veya bu özelliği etkisizleştirmeyi düşünün.

3.6 (geri alındı).

3.7 Çok sütunlu (100+) tablom var ve tabloya gözatmayı denediğimde “Uyarı: url ayrıştırılamaz” gibi bir dizi hata alıyorum. Bu nasıl düzeltilebilir?

Tablonuz ne primary key ne de unique key sahiptir, bu yüzden bu satırı tanımlamak için uzun ifade kullanmak zorundayız. Buna parse_url işlevi için sorunlar neden olur. Geçici çözüm primary key veya unique key oluşturmaktır.

3.8 Üzerine MIME-Dönüşümü koyduğum sütunların içinde (tıklanabilir) HTML-formları kullanamıyorum!

Çevreleyen form kalıbından dolayı (çoklu satır silme onay kutuları için), phpMyAdmin’nin sonuçları görüntülediği iç içe formlar tablo içerisine koyulamıyor. Eğer esas form kalıbı tbl_row_delete.php’yi hedef gösteren ile birlikte tutulursa ancak, tablo içerisinde herhangi bir form kullanabilirsiniz ve içerisine sadece kendi girdi öğelerinizi koyabilirsiniz. Eğer özel gönderi girdi alanı kullanıyorsanız, dönüşümlerdeki $HTTP_POST_VARS doğrulandığı yerde, sayfayı tekrar görüntülemek için form kendiliğinden gönderecektir. Dönüşümlerin nasıl etkin bir şekilde kullanılacağının eğitimi için resmi phpMyAdmin ana sayfasındaki Bağlantı bölümümüze bakın.

3.9 MySQL sunucusu için “–sql_mode=ANSI” kullandığımda hata mesajları alıyorum.

MySQL ANSI-uyumluluk kipinde çalıştığında, SQL’in nasıl yapılandırıldığında bazı başlıca farklılıklar vardır (<https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html> adresine bakın). Hepsinden önemlisi, tırnak karakteri (“), geçersiz SQL ifadeleri içerisinde çoğu dahili phpMyAdmin işlemlerini yapan dizgi tırnak karakteri olarak değil tanımlayıcı tırnak karakteri olarak yorumlanır. Bu davranış için geçici çözüm yoktur. Bu öğe için haber sorun #7383 içinde bildirilecektir.

3.10 Eşadlı ve birincil anahtar yok: SELECT’in sonuçları aynı değer ile bir sütundan daha fazlasını görüntülediğinde (örneğin SELECT soyadi from calisanlar where ilkadi like 'A%' ve iki “Yavuz” değeri görüntülenir), Düzenle’ye tıklarsam istenilen satırı düzenlediğimden emin olamıyorum.

Lütfen tablonuzun primary key sahip olduğundan emin olun, böylece phpMyAdmin Düzenle ve Sil bağlantıları için bunu kullanabilir.

3.11 InnoDB tabloları için satır sayısı doğru değil.

phpMyAdmin satır sayısını getirmek için hızlı bir yöntem kullanır ve bu yöntem sadece InnoDB tabloları durumunda yaklaşık bir sayıyı döndürür. Bu sonuçları değiştirmenin bir yolu için $cfg['MaxExactCount'] yönergesine bakın, ama bunun performansta ciddi etkisi olmaktadır. Ancak, biri yaklaşık sayıya basitçe tıklayarak tam sayısı ile yaklaşık satır sayısını kolayca değiştirebilir. Bu aynı zamanda en altta görüntülenen satırlar toplamına bir defa tıklanarak tüm tablolar için yapılabilir.

Ayrıca bkz.

$cfg['MaxExactCount']

3.12 (geri alındı).

3.13 Bir tire içeren vt adını takiben USE girdiğimde bir hata alıyorum.

MySQL 5.1.49 ile yaptığım denemeler gösterdi ki API, USE komutu için bu sözdizimini kabul etmiyor.

3.14 Sütunlardan birinde SELECT hakkına sahip olmadığımda tabloya gözatamıyorum.

Bu, başından beri phpMyAdmin’nin bilinen bir kısıtlamasıydı ve gelecekte de çözülmesi muhtemel değildir.

3.15 (geri alındı).

3.16 (geri alındı).

3.17 (geri alındı).

3.18 Çoklu tabloları içeren bir CSV dosyası içe aktardığımda, hepsi birlikte tek bir tabloya birleştiriliyor.

CSV biçimindeki tabloları ayırt etmek için güvenilir bir yol yoktur. Bir süreliğine çoklu tabloları içeren CSV dosyalarını parçalara ayırmak zorunda olacaksınız.

>3.19 Dosyayı içe aktardığımda ve phpMyAdmin uygun veri yapısını belirlediğinde sadece int, decimal ve varchar türlerini kullanıyor.

Şimdilik, içe aktarma türü saptama sistemi sadece bu MySQL türlerinden sütunlara atanabiliyor. Gelecekte, eklenecek olması daha büyük ihtimal ama şu anda yapıyı alışık olduğunuz göndererek içe aktarmayla düzenlemek zorundasınız. Ayrıca, şu gerçeği de unutmamalısınız ki phpMyAdmin uygun tür için sütun boyutu olarak verilen herhangi bir sütundaki en büyük öğe boyutunu kullanacaktır. Bu sütuna ekleyeceğiniz büyük öğeleri biliyorsanız ondan sonra buna göre sütun boyutlarını elle ayarlamalısınız. Bu, verim hatırına yapılır.

3.20 Yükseltmeden sonra, bazı yer imleri gitti ya da içerikleri gösterilemez durumda.

Belli bir noktada, yer imi içeriğini saklamak için kullanılan karakter grubu değişmiş. Yer iminizi daha yeni phpMyAdmin sürümünden yeniden oluşturmak daha iyidir.

3.21 Ş harfi gibi evrensel kodlar içeren bir kullanıcı adı ile oturum açamıyor.

Eğer MySQL varsayılan karakter grubu olarak utf-8 kullanması için yapılandırılmadığında bu olabilir. Bu, PHP ve MySQL sunucusunun nasıl biribirini etkilediğinin bir sınırlamasıdır; kimlik doğrulamasından önce PHP için karakter kümesini ayarlamanın hiçbir yolu yoktur.

ISP’ler, çoklu kullanıcı kurulumları

4.1 Bir ISP’im var. Merkezi bir phpMyAdmin kopyasını kurabilir miyim veya her müşteri için yüklemem mi gerekir?

2.0.3 sürümünden bu yana, merkezi bir phpMyAdmin kopyasını tüm kullanıcılarınız için kurabiliyorsunuz. Bu özelliği geliştirilmesine NetCologne GmbH nazikçe sponsor oldu. Bu, doğru bir biçimde kurulu MySQL kullanıcı yönetimi ve phpMyAdmin HTTP ya da tanımlama bilgisi kimlik doğrulaması gerektirir.

4.2 phpMyAdmin’ni kötü niyetli erişime karşı güvenli yapmanın tercih edilen yolu nedir?

Bu sisteminize bağlıdır. Eğer diğer insanlar tarafından erişilemeyen bir sunucu çalıştırıyorsanız, web sunucunuz ile paketlenmiş dizin koruması kullanmak yeterlidir (Apache ile .htaccess dosyaları kullanabilirsiniz, örneğin). Eğer diğer insanların sunucunuza telnet erişimi varsa, phpMyAdmin’in HTTP ya da tanımlama bilgisi kimlik doğrulamasını kullanmalısınız.

Öneriler:

  • config.inc.php dosyanız chmod 660 yapılmalı.
  • Tüm phpMyAdmin dosyalarınız chown -R phpmy.apache yapılmış olmalı, phpmy, şifresini sadece sizin bildiğiniz kullanıcı ve apache, Apache’nin altında çalışan grup.
  • PHP ve web sunucunuz için güvenlik önerilerini takip edin.

4.3 /lang veya /libraries içinde bir dosya olmamasıyla ilgili hatalar alıyorum.

php.ini dosyasını kontrol edin ya da sistem yöneticinize kontrol etmesi için sorun. İçinde bir yerdeki include_path “.” içermek zorundadır ve open_basedir, eğer kullanılmışsa, phpMyAdmin’nin normal işlemine izin vermek için “.” ve “./lang” içermek zorundadır.

4.4 HTTP kimlik doğrulaması kullanırken phpMyAdmin sürekli “Erişim reddedildi” uyarısı veriyor.

Bu birkaç sebepten olabilir:

4.5 Kullanıcıların kendi veritabanlarını oluşturmasına izin vermek mümkün mü?

2.2.5’ten başlayarak, kullanıcı yönetimi sayfasında, kullanıcı için joker karakterli veritabanı adı girebilir (örneğin “joe%”) ve istediğiniz yetkileri verebilirsiniz. Örneğin, SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER eklemek kullanıcıya kendi veritaban(larını)ını oluşturmasına/yönetmesine izin verecektir.

4.6 Anamakine tabanlı kimlik doğrulaması ilavelerini nasıl kullanabilirim?

Eğer eski bir .htaccess dosyasında varolan kurallarınız varsa, onları alabilir ve 'deny'/'allow' ve 'from' dizgileri arasına kullanıcı adı ekleyebilirsiniz. Kurulumunuz bunu kullanmak için uygunsa, '%' kullanıcı adı jokerini burada kullanmanın başlıca bir yararı olacaktır. Ardından yalnızca bu güncellenmiş satırları $cfg['Servers'][$i]['AllowDeny']['rules'] dizilimi içerisine ekleyebilirsiniz.

Eğer önceden yapılmış örnek isterseniz, bu kısmı deneyebilirsiniz. Özel ağ IP bloklarından başka herhangi bir ağa oturum açmasında ‘root’ kullancısına engel olur.

//block root from logging in except from the private networks
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = [
    'deny root from all',
    'allow root from localhost',
    'allow root from 10.0.0.0/8',
    'allow root from 192.168.0.0/16',
    'allow root from 172.16.0.0/12',
];

4.7 Kimlik doğrulaması penceresi birden fazla görüntüleniyor, neden?

Eğer phpMyAdmin’i başlatmak için $cfg['PmaAbsoluteUri'] dizginiz içindeki ayarladığınızdan farklı bir URL kullanıyorsanız bu olur. Örneğin, eksik “www” ya da yapılandırma dosyasında tanımlanan bir etki alanı adını bir IP adresiyle girmek.

4.8 phpMyAdmin’i başlatan hangi parametreleri URL’de kullanabilirim?

phpMyAdmin başlatılırken, db ve server parametrelerini kullanabilirsiniz. Bu sonuncusu, ya sayısal anamakine indeksini (yapılandırma dosyasındaki $i olan) ya da yapılandırma dosyasında bulunan anamakine adlarından birini içerebilir.

Örneğin, doğrudan belirli bir veritabanına atlamak için bir URL, https://ornek.com/phpmyadmin/?db=sakila şeklinde yapılabilir.

4.9.0 sürümünde değişti: pma_username ve pma_password parametreleri kullanımı desteği phpMyAdmin 4.9.0 sürümünde kaldırılmıştır (bakınız PMASA-2019-4).

Tarayıcılar veya istemci İS

5.1 Yetersiz bellek hatası alıyorum ve 14 sütundan daha fazlasıyla bir tablo oluşturmayı denediğimde denetimlerim işlevsel olmuyor.

Sadece Win98/98SE altında bu sorunu yeniden üretebildik. WinNT4 veya Win2K altındaki denemede, 60 sütundan daha fazlasını kolayca oluşturabildik. Geçici çözüm daha küçük sütun sayısı oluşturmak, ondan sonra tablo özelliklerinize geri gelmeniz ve diğer sütunları eklemeniz.

5.2 Xitami 2.5b4 ile phpMyAdmin form alanlarını işlemiyor.

Bu phpMyAdmin sorunu değildir ama bilinen bir Xitami hatasıdır: formları kullanan her betik/web sitesi ile karşı karşıya geleceksiniz. Xitami sunucunuzu yükseltin ya da düşürün.

5.3 Konqueror (phpMyAdmin 2.2.2) ile tabloları dökümlerken sorunlarım oluyor.

Konqueror 2.1.1 ile: düz dökümler, zip ve gzip dökümleri sorunsuz çalışır, döküm için önerilen dosya adı hariç her zaman ‘tbl_dump.php’dir. bzip2 dökümleri çalışır görünmüyor. Konqueror 2.2.1 ile: düz dökümler çalışır; zip dökümler kullanıcının geçici dizini içinde yer alır, böylece Konqueror’u kapatmadan önce taşınmalıdırlar yoksa gözden kaybolurlar. gzip dökümleri hata mesajı verir. Konqueror 2.2.2 için denemenin yapılması gerekir.

5.5 (geri alındı).

5.6 (geri alındı).

5.7 Tarayıcımı yeniliyorum (yeniden yüklüyorum) ve hoş geldiniz sayfasına geri geliyor.

Bazı tarayıcılar yenilemek istediğinizde çerçeve içerisinde sağ tıklamayı destekler, bunu sadece sağ çerçevede yapın.

5.8 Mozilla 0.9.7 ile sorgu kutusunda değiştirilmiş sorgu gönderirken sorunlar yaşıyorum.

Mozilla hatası gibi görünüyor: 0.9.6 tamamdır. Gözümüzü gelecek Mozilla sürümlerinin üzerinde tutacağız.

5.9 Mozilla 0.9.?’den 1.0’a ve Netscape 7.0-PR1 ile SQL-Sorgusu düzenleme alanında boşluk bırakamıyorum: sayfa aşağı kayıyor.

Bu bir Mozilla hatasıdır (BugZilla’da hata #26882’ye bakın).

5.10 (geri alındı).

5.11 Almanca harflerdeki üzerine koyulan çift noktalılar gibi Genişletilmiş-ASCII karakterler yanlış görüntüleniyor.

Lütfen tarayıcınızın karakter grubunu, phpMyAdmin’in başlangıç sayfasında seçmiş olduğunuz dil dosyasından birine ayarladığınızı garantileyin. Alternatif olarak çoğu tarayıcının en son sürümlerince desteklenen otomatik algılama kipini deneyebilirsiniz.

5.12 Mac OS X Safari tarayıcısı özel karakterleri “?” olarak değiştiriyor.

Bu sorun Chimera, Netscape ve Mozilla’nın bu soruna sahip olmadığını ekleyen macOS kullanıcısı tarafından raporlanmıştır.

5.13 (geri alındı)

5.14 (geri alındı)

5.15 (geri alındı)

5.16 Internet Explorer ile “Erişim reddedildi” Javascript hataları alıyorum. Ya da phpMyAdmin’i Windows altında çalışır hale getiremiyorum.

Lütfen aşağıdaki noktaları kontrol edin:

  • Belki bir IP adresi için config.inc.php içindeki $cfg['PmaAbsoluteUri'] ayarınızı tanımladınız ve phpMyAdmin’i bir etki alanı adını içeren URL ya da tersi durum ile başlatıyorsunuz.
  • IE ve/veya Microsoft Güvenlik Merkezi içindeki güvenlik ayarları çok yüksek, bu nedenle betiklerin çalıştırılmasını engelliyor.
  • Windows Güvenlik Duvarı Apache ve MySQL’i engelliyor. “Gelen” ve “Giden” yönlerindeki HTTP bağlantı noktalarına (80 veya 443) ve MySQL bağlantı noktasına (genellikle 3306) izin vermelisiniz.

5.17 Firefox ile veri satırlarını silemiyorum ya da veritabanını kaldıramıyorum.

Birçok kullanıcının da onayladığı soruna, Firefox’lara Tabbrowser Uzantıları eklentisini kurmak neden oluyor.

5.18 (geri alındı)

5.19 Tarayıcımda JavaScript hataları alıyorum.

Sorunlar tarayıcı uzantılarının bazı kombinasyonları ile raporlandı. Sorunu gidermek için tüm uzantıları etkisizleştirin ondan sonra sorunun devam edip etmediğini görmek için tarayıcı önbelleğinizi temizleyin.

5.20 İçerik Güvenlik İlkesi’nin ihlal edilmesi ile ilgili hatalar alıyorum.

Şunun gibi hatalar görürseniz:

Refused to apply inline style because it violates the following Content Security Policy directive

Buna genellikle İçerik Güvenlik İlkesi başlıklarını yanlışlıkla yeniden yazan bazı yazılımlar neden olur. Genellikle buna böyle hatalara neden olan antivirüs proksi veya tarayıcı eklentileri neden olur.

Eğer bu hataları görürseniz, antivirus içindeki HTTP proksiyi etkisizleştirmeye ya da İçerik Güvenlik İlkesi’ni yeniden yazmayı etkisizleştirmeye çalışın. Eğer bu yardımcı olmazsa, tarayıcı uzantılarını etkisizleştirmeyi deneyin.

Alternatif olarak bu aynı zamanda sunucu yapılandırma sorunu olabilir (eğer web sunucusu İçerik Güvenlik İlkesi başlıklarının yayınlanması için yapılandırılırsa, phpMyAdmin’den geleni geçersiz kılabilirler).

Bu tür hatalara neden olduğu bilinen programlar:

  • Kaspersky Internet Security

5.21 Tabloya gözatarken ya da SQL sorgusu yürütürken potansiyel olarak güvenli olmayan işlem ile ilgili hata iletisi alıyorum.

Şunun gibi hatalar görürseniz:

A potentially unsafe operation has been detected in your request to this site.

Buna genellikle süzme istekleri yapan web uygulaması güvenlik duvarı neden olur. SQL eklemeyi önlemeye çalışır, ancak phpMyAdmin SQL sorgularını yürütmek için tasarlanmış bir araçtır, böylece onu kullanılamaz hale getirir.

Lütfen phpMyAdmin betiklerine web uygulaması güvenlik duvarı ayarlarından izin verin ya da tamamen phpMyAdmin yolu için etkisizleştirin.

Bu tür hatalara neden olduğu bilinen programlar:

  • Wordfence Web Uygulaması Güvenlik Duvarı

phpMyAdmin kullanmak

6.1 Tabloya yeni satırları ekleyemiyorum / tablo oluşturamıyorum - MySQL, SQL hatası getirtiyor.

SQL hatasını dikkatli bir şekilde inceleyin. Çoğu zaman soruna yanlış sütun türü belirlenmesi neden olur. Genel hatalar:

  • Bağımsız boyut değişkeni olmadan VARCHAR kullanmak
  • Bağımsız boyut değişkeni olmadan TEXT veya BLOB kullanmak

Aynı zamanda sözdiziminizin doğru olduğunu onaylamak için MySQL kılavuzundaki sözdizimi bölümüne bir bakın.

6.2 Bir tablo oluşturduğumda, iki sütun için indeks ayarlıyorum ve phpMyAdmin bu iki sütunla sadece bir indeks oluşturuyor.

Çoklu sütun indeksi oluşturmanın yolu budur. Eğer iki indeks isterseniz, ilkini tablo oluştururken oluşturun, kaydedin, ondan sonra tablo özelliklerini görüntüleyin ve diğer indeksi oluşturmak için İndeks bağlantısına tıklayın.

6.3 Tablomun içine boş değer nasıl eklerim?

2.2.3 sürümünden bu yana, boş yapılabilen her sütun için onay kutusuna sahipsiniz. 2.2.3’ten önce, sütunun değeri olarak tırnaksız “null” girmek zorundaydınız. 2.5.5 sürümünden bu yana, gerçek NULL değeri almak için onay kutusunu kullanmak zorundasınız, bu yüzden eğer “NULL” girerseniz, bu, sütunda harfi harfine NULL istiyorsunuz anlamına gelir ve NULL değeri değil (bu PHP4’te çalışır).

6.4 Veritabanımı veya tablomu nasıl yedekleyebilirim?

Gezinti panelinde veritabanı veya tablo adına tıklayın, özellikleri görüntülenecektir. Ondan sonra menüde, “Dışa Aktar”a tıklayın, yapıyı, veriyi veya her ikisini dökümleyebilirsiniz. Bu, veritabanınızı/tablonuzu yeniden oluşturmak için kullanılabilir standart SQL ifadeleri üretecek. “Dosyayı farklı kaydet”i seçmeniz gerekecek, böylece phpMyAdmin çıkan dökümü yerinizin olduğu yere iletebilir. PHP yapılandırmanıza bağlı olarak dökümü sıkıştırmak için seçenekleri göreceksiniz. Aynı zamanda $cfg['ExecTimeLimit'] yapılandırma değişkenine bakın. Bu konuda ilave yardım için bu belgede “döküm” kelimesini arayın.

6.5 Döküm kullanarak veritabanımı veya tablomu nasıl geri yüklerim (gönderirim)? “.sql” dosyasını nasıl çalıştırabilirim?

Gezinti panelinde veritabanı adına tıklayın, özellikleri görüntülenecektir. Sağ–taraftaki çerçeveden (veya phpMyAdmin sürümünüz 2.7.0’dan öncesiyse, “SQL”den) sekmeler listesinden “İçe Aktar”ı seçin. “İçe Aktarmak için Dosya” bölümünde, “Bilgisayarınıza gözat” kısmında döküm dosya adınızın yolu için Dosya Seçin düğmesini kullanın. Ondan sonra Git’e tıklayın. 2.7.0 sürümü ile içe aktarma motoru yeniden yazıldı, eğer mümkünse yeni özelliklerinin avantajlarından faydalanmak için yükseltmeniz önerilir. Bu konuda ilave yardım için bu belgede “gönderme” kelimesini arayın.

Not: Eski MySQL sürümlerinden daha yeni MySQL sürümlerine aktarılan dökümlerin içe aktarılırken oluşan hataları için, lütfen bakınız 6.41 Eski MySQL sürümlerinden (5.7.6 öncesi) daha yeni MySQL sürümlerine (5.7.7+) aktarılan dökümler içe aktarılırken içe aktarma hataları alıyorum, ancak aynı eski sürümlere geri aktarıldığında sorunsuz çalışırlar mı ?.

6.6 Örnekle sorgulamada ilişki tablosunu nasıl kullanabilirim?

İşte persons, towns ve countries tabloları ile bir örnek, “mydb” veritabanında bulunanların tümü. Eğer pma__relation tablosuna sahip değilseniz, yapılandırma bölümünde açıklandığı gibi oluşturun. Ondan sonra örnek tabloları oluşturun:

CREATE TABLE REL_countries (
country_code char(1) NOT NULL default '',
description varchar(10) NOT NULL default '',
PRIMARY KEY (country_code)
) ENGINE=MyISAM;

INSERT INTO REL_countries VALUES ('C', 'Canada');

CREATE TABLE REL_persons (
id tinyint(4) NOT NULL auto_increment,
person_name varchar(32) NOT NULL default '',
town_code varchar(5) default '0',
country_code char(1) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=MyISAM;

INSERT INTO REL_persons VALUES (11, 'Marc', 'S', 'C');
INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');

CREATE TABLE REL_towns (
town_code varchar(5) NOT NULL default '0',
description varchar(30) NOT NULL default '',
PRIMARY KEY (town_code)
) ENGINE=MyISAM;

INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');
INSERT INTO REL_towns VALUES ('M', 'Montréal');

Uygun bağlantıyı kurmak ve bilgiyi görüntülemek için:

  • “REL_persons” tablosunda Yapı’ya tıklayın, ondan sonra İlişki görünümüne
  • “town_code” için aşağı açılır menülerden seçin, dış veritabanı, tablo ve sütun için sırasıyla “mydb”, “REL_towns”, “town_code”
  • “country_code” için aşağı açılır menülerden seçin, dış veritabanı, tablo ve sütun için sırasıyla “mydb”, “REL_countries”, “country_code”
  • “REL_towns” tablosunda Yapı’ya tıklayın, ondan sonra İlişki görünümüne
  • “Görüntülemek için sütun seçin” içinde, “açıklama”yı seçin
  • “REL_countries” tablosu için önceki iki adımı tekrarlayın

Ondan sonra bunun gibi deneyin:

  • Gezinti panelinde vt adınıza tıklayın
  • “Sorgu”yu seçin
  • Tabloları kullanın: persons, towns, countries
  • “Sorguyu güncelle”ye tıklayın
  • Sütun satırında, persons.person_name seçin ve “Göster” işaretleme kutusuna tıklayın
  • Aynısını diğer 2 sütundaki towns.description ve countries.descriptions için yapın
  • “Sorguyu güncelle”ye tıklayın ve doğru birleştirmelerin oluşturulduğunu sorgu kutusu içinde göreceksiniz
  • “Sorguyu gönder”e tıklayın

6.7 “Görüntüleme sütunu” özelliğini nasıl kullanabilirim?

Önceki örnekten başlayarak, yapılandırma bölümünde açıklandığı gibi pma__table_info oluşturun, ondan sonra persons tablonuza gözatın ve fareyi town kodu ya da country kodunun üzerine götürün. Ayrıca “görüntüleme sütununun” etkinleştirdiği ilave bir özellik için bakınız 6.21 Düzenle/ekle kipinde, bazı dış tablo tabanlı, bir sütun için olası değerlerin listesini nasıl görebilirim?: olası değerlerin aşağı açılır listesi.

6.8 Veritabanımın PDF şemasını nasıl yapabilirim?

Önce “relation”, “table_coords” ve “pdf_pages” yapılandırma değişkenleri doldurulmak zorundadır.

  • Gezinti panelinde veritabanınızı seçin.
  • En üstte gezinti çubuğundaki “Tasarımcı”yı seçin.
  • Tabloları istediğiniz gibi taşıyın.
  • Sol menüden “Şemayı dışa aktar”ı seçin.
  • Dışa aktarma kipine bağlı açılacak.
  • PDF olarak dışa aktarma türünü seçin, diğer ayarları yapabilirsiniz.
  • Formu gönderin ve dosya indirilmeye başlayacak.

Ayrıca bkz.

İlişkiler

6.9 phpMyAdmin sütunlarımdan birinin türünü değiştiriyor!

Hayır, bu, sessiz sütun türü değiştirmeyi yapan MySQL’dir.

6.10 Bir yetki oluşturulduğunda, veritabanı adında alttan çizgisi olanlarda ne oluyor?

Eğer alttan çizgiden önce ters eğik çizgi koymazsanız, bu joker karakter kabul edilir ve alttan çizgi “herhangi bir karakter” anlamına gelir. Bu yüzden, eğer veritabanı adı “benim_vt” ise, kullanıcı yetkileri benim1vt, benim2vt’ye … alacaktır. Eğer alttan çizgiden önce ters eğik çizgi koyarsanız, bu, veritabanı adı gerçek bir alttan çizgiye sahip olacaktır anlamına gelir.

6.11 İstatistikler sayfalarındaki garip sembol ø nedir?

“Ortalama” anlamına gelir.

6.12 Bazı Dışa Aktarma seçeneklerini anlamak istiyorum.

Yapı:

  • Eğer içe aktarma sırasında zaten varsa, “DROP TABLE ekle” MySQL’e tabloyu kaldırmasını söyleyen bir satır ekleyecektir. Dışa aktarmanızdan sonra tabloyu KALDIRMAZ, sadece içe aktarma dosyasını etkiler.
  • “If Not Exists” sadece eğer tablo mevcut değilse tablo oluşturacaktır. Yoksa, eğer tablo adı mevcutsa ama farklı bir yapısı varsa, hata alabilirsiniz.
  • “AUTO_INCREMENT değeri ekle”, AUTO_INCREMENT değerinin (eğer varsa) yedeklemeye dahil edileceğini garanti eder.
  • “Tablo ve sütun adlarını ters tırnaklarla kapattır”, sütun ve tablo adlarının özel karakterlerle biçimlenmiş korunmasını garanti eder.
  • “Açıklamalara ekle”, sütun açıklamalarını, ilişkileri ve ortam türleri grubunu SQL açıklamaları (/* xxx */) olarak döküm içindeki pmadb içine dahil eder.

Veri:

  • “Tam eklemeler” her INSERT komutunda sütun adlarını ekler, daha iyi belgeleme için (ama sonucu daha büyük bir dosyadır).
  • “Gelişmiş eklemeler” INSERT eylemini ve tablo adını sadece bir kez kullanarak kısa döküm dosyası sağlar.
  • “Gecikmeli eklemeler” en iyi MySQL kılavuzunda - INSERT DELAYED Sözdizimi açıklanır.
  • “Yoksayılan eklemeler” hatalar yerine uyarı olarak davranır. Yine, daha fazla bilgi MySQL kılavuzunda - INSERT Sözdizimi sağlanır, ama aslında bununla seçilmiştir, bütün ifadenin başarısız olmasına neden olmaktansa geçersiz değerler ayarlanır ve eklenir.

6.13 Adının içinde nokta olan veritabanı oluşturmak istiyorum.

Bu kötü bir fikirdir çünkü MySQL içinde “veritabanı.tablo” sözdizimi, veritabanı ve tablo adını referans gösteren normal bir yoldur. Daha kötüsü, MySQL genellikle veritabanını nokta ile oluşturmanıza izin verir ama ondan sonra bununla çalışamazsınız, ne de silebilirsiniz.

6.14 (geri alındı).

6.15 Bir BLOB sütunu eklemek ve içine indeks koymak istiyorum ama MySQL, “BLOB sütunu ‘…’ anahtar uzunluğu olmadan anahtar belirlemede kullanıldı” diyor.

Bunu yapmanın doğru yolu, herhangi bir indeks olmaksızın sütun oluşturmak, ondan sonra tablo yapısını görüntülemek ve “Bir indeks oluştur” iletisini kullanmak. Bu sayfada, BLOB sütununuzu seçebileceksiniz ve BLOB sütununda bir indeks oluşturmak için şart olan indekse boyut ayarlayabileceksiniz.

6.16 Bir yığın düzenleme alanı ile sayfa içinde nasıl basitçe taşıyabilirim?

Çoğu sayfada pek çok düzenleme alanı (tablo yapısı değişiklikleri, satır düzenleme, vs.) ile taşımak için Ctrl+ok tuşlarını (Safari’de Option+Ok tuşları) kullanabilirsiniz.

6.17 Dönüşümler: Kendi mime türümü giremiyorum! Öyleyse yararlı olan bu özellik nedir?

Eğer dönüşümleri onlara koyamazsanız tanımlanan mime türleri kullanımda olmaz. Yoksa sütuna sadece açıklama koyabilirdiniz. Çünkü kendi mime türünüzü girmek ciddi sözdizimi kontrol sorunları ve doğrulamasına neden olacaktır, bu yüksek riskte yanlış kullanıcı girdisi durumuna sokar. Bunun yerine işlevleri ya da boş mime türü tanımlamalarını kullanarak mime türlerini başlatmak zorundasınız.

Ayrıca, kullanılabilir mime türlerinin bütün genel bakışına sahipsiniz. Tüm bu mime türlerini böyle ezbere bilen kim var ki istedikleri zaman girebilsinler?

6.18 Yer İmleri: Yer imlerini nerede saklayabilirim? Sorgu kutusunun altında neden hiç yer imlerini göremiyorum? Bu değişkenler ne için?

Yer imleri özelliğini kullanmak için phpMyAdmin yapılandırma depolaması’nı yapılandırmanız gerek. Bunu yaptıktan sonra SQL sekmesindeki yer imlerini kullanabilirsiniz.

Ayrıca bkz.

Yer işaretleri

6.19 Dışa aktarılmış tabloyu dahil etmek için basit LATEX belgesini nasıl oluşturabilirim?

LATEX belgelerinize basitçe tabloyu dahil edebilirsiniz, en az örnek belge aşağıdaki gibi görünmelidir (table.tex dosyasına aktarılmış tablo var farz edilirse):

\documentclass{article} % or any class you want
\usepackage{longtable}  % for displaying table
\begin{document}        % start of document
\include{table}         % including exported table
\end{document}          % end of document

6.20 Benim olmayan birçok veritabanı görüyorum ve onlara erişemiyorum.

Bu genel yetkilerden birine sahipsiniz: CREATE TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES. Bu yetkiler aynı zamanda kullanıcılara tüm veritabanı adlarını görmelerini etkinleştirir. Bu yüzden eğer kullanıcılarınızın bu yetkilere ihtiyaçları yoksa, bunları kaldırabilirsiniz ve veritabanları listesi kısalacaktır.

6.21 Düzenle/ekle kipinde, bazı dış tablo tabanlı, bir sütun için olası değerlerin listesini nasıl görebilirim?

Tablolar arasında ilgili bağlantıları kurmak zorundasınız ve aynı zamanda dış tablo içindeki “görüntüleme sütununu” ayarlayın. Örnek için bakınız 6.6 Örnekle sorgulamada ilişki tablosunu nasıl kullanabilirim?. Ondan sonra, eğer dış tablo içinde 100 değer veya daha azı varsa, değerlerin aşağı açılır listesi kullanılabilir olacaktır. Değerlerin iki listesini göreceksiniz, birinci liste anahtarı ve görüntüleme sütununu içerir, ikinci liste görüntüleme sütununu ve anahtarı içerir. Bunun nedeni ya anahtarın ya da görüntüleme sütununun ilk harfinin yazılabilmesidir. 100 değer veya daha fazlası için ayrı bir pencere görünecektir, dış anahtar değerlerine gözatmak ve birini seçmek için. 100 varsayılan sınırını değiştirmek için, $cfg['ForeignKeyMaxLimit'] yönergesine bakın.

6.22 Yer İmleri: Tablo için Gözatma kipine girildiğinde otomatik olarak varsayılan yer imini çalıştırabilir miyim?

Evet. Eğer yer imi tablo adıyla aynı etikete sahipse ve ortak yer imi değilse, çalıştırılacaktır.

Ayrıca bkz.

Yer işaretleri

6.23 Dışa Aktar: phpMyAdmin’in Microsoft Excel dosyalarını dışa aktarabildiğini duydum?

Kutudan çıkar çıkmaz çalışan, Microsoft Excel için CSV kullanabilirsiniz.

3.4.5 sürümünde değişti: phpMyAdmin 3.4.5 sürümünden bu yana Microsoft Excel sürüm 97 ve yenisine doğrudan dışa aktarma için destek kaldırıldı.

6.24 Artık phpMyAdmin yerel MySQL 4.1.x sütun açıklamalarını destekliyor, pmadb içinde saklanan sütun açıklamalarıma ne oldu?

Tablonun pmadb-stili sütun açıklamalarının yerel biriyle otomatik yer değiştirmesi bu tablo için Yapı sayfasına girdiğinizde yapılır.

6.25 (geri alındı).

6.26 Satırların aralığını nasıl seçebilirim?

Aralığın ilk satırına tıklayın, shift (üst) tuşuna basılı tutun ve aralığın son satırına tıklayın. Bu, satırları gördüğünüz her yerde çalışır, örneğin Gözatma kipinde veya Yapı sayfasında.

6.27 Ne biçimde dizgiler kullanabilirim?

phpMyAdmin’nin biçim dizgilerini kabul ettiği tüm yerlerde, @VARIABLE@ genişlemesini ve strftime biçim dizgilerini kullanabilirsiniz. Genişletilmiş değişkenler içeriğe bağlıdır (örneğin, eğer seçili bir tabloya sahip değilseniz, tablo adını alamazsınız) ama aşağıdaki değişkenler kullanılabilir:

@HTTP_HOST@
phpMyAdmin’i çalıştıran HTTP anamakinesi
@SERVER@
MySQL sunucu adı
@VERBOSE@
$cfg['Servers'][$i]['verbose'] içinde tanımlandığı gibi ayrıntılı MySQL sunucusu adı
@VSERVER@
Eğer ayarlı ise ayrıntılı MySQL sunucusu adı, yoksa normaldir
@DATABASE@
Şu anda açık olan veritabanı
@TABLE@
Şu anda açık olan tablo
@COLUMNS@
Şu anda açık olan tablo sütunları
@PHPMYADMIN@
Sürümü ile phpMyAdmin

6.28 (geri alındı).

6.29 Sorgu sonuç tablomdan neden çizelge alamıyorum?

Her tablo çizelgeye koyulabilir değildir. Sadece bir, iki veya üç sütunlu tablolar çizelge olarak görselleştirilebilir. Üstelik tablo, onu anlamak için çizelge betiği olarak özel bir biçimde olmak zorundadır. Şimdilik desteklenen biçimler Çizelgeler içinde bulunabilir.

6.30 İçe Aktarma: ESRI Şekil dosyalarını nasıl içe aktarabilirim?

Aslında bir ESRI Şekil dosyası .shp dosyasının geometri verisini içeren ve .dbf dosyasının bu geometri verisiyle ilgili veriyi içeren çeşitli dosyalar grubudur. .dbf dosyasından okumak için dBase uzantısı (–enable-dbase) ile derlenmiş PHP’ye sahip olmanız gerekir. Yoksa sadece geometri verisi içe aktarılacaktır.

Bu dosyaların grubunu göndermek için aşağıdaki yöntemlerden birini kullanabilirsiniz:

Gönderme dizinini $cfg['UploadDir'] ile yapılandırın, her iki .shp ve .dbf dosyalarını aynı dosya adı ile gönderin ve içe aktar sayfasından .shp dosyasını seçin.

.shp ve .dbf dosyalarıyla bir zip arşivi oluşturun ve içe aktarın. Bunun çalışması için, kullanıcının yazabileceği (örneğin './tmp') web sunucusunun olduğu yerde $cfg['TempDir'] dizgisini ayarlamanız gerekir.

UNIX-tabanlı sistemde geçici dizin oluşturmak için yapabileceğiniz:

cd phpMyAdmin
mkdir tmp
chmod o+rwx tmp

6.31 Tasarımcıda bir ilişkiyi nasıl oluştururum?

İlişkiyi seçmek için, tıklayın: Pembe olarak gösterilen görüntü sütununa. Alanı, görüntü sütunu olarak ayarlamak/ayarı kaldırmak için “Görüntülemek için sütun seçin” simgesine tıklayın, ondan sonra uygun sütun adı üzerine tıklayın.

6.32 Odaklı arama özelliğini nasıl kullanabilirim?

Odaklı arama özelliği tablo arama özelliğine bir alternatiftir. Dağılım çizimi içindeki verisini temsil eden bir tablo keşfetmenize izin verir. Bir tablo seçerek ve Ara sekmesine tıklayarak bu özelliğin yerini öğrenebilirsiniz. Tablo Arama sayfasındaki alt sekmelerden birisi Odaklı Arama’dır.

Bir örnek için 6.6 Örnekle sorgulamada ilişki tablosunu nasıl kullanabilirim? içindeki REL_persons tablosunu dikkate alın. Odaklı aramayı kullanmak için iki sütunun seçilmesi gerekir, örneğin, id ve town_code. id değerleri bir eksende temsil edilir ve town_code değerleri diğer eksende. Her bir satır, id’si ve town_code’u tabanlı dağılım çizimi içinde işaret edilerek temsil edilecektir. Görüntülemek için iki alan dışında iki ilave arama kriterini dahil edebilirsiniz.

Her bir nokta için etiket olarak hangi alanın görüntülenmesi gerektiğini seçebilirsiniz. Eğer görüntülenme sütunu tablo için ayarlanmışsa (bakınız 6.7 “Görüntüleme sütunu” özelliğini nasıl kullanabilirim?), aksi halde siz ayarlamadıkça etiket olarak alınır. Ayrıca ‘Çizim için en fazla satır’ alanında belirlenerek çizimde görüntülenmesini istediğiniz en fazla satır sayısını seçebilirsiniz. Bir kere kriteriniz üzerinde karar verdiniz mi, çizimi görüntülemek için ‘Git’e tıklayın.

Çizim oluşturulduktan sonra, çizimi yakınlaştırmak ve uzaklaştırmak için fare tekerini kullanabilirsiniz. Buna ek olarak, gezdirme özelliği çizim üzerinde gezinme için etkinleştirilir. Ayrıntının belli bir seviyesine yakınlaştırabilirsiniz ve ilgilendiğiniz alanın yerini bulmak için gezdirmeyi kullanabilirsiniz. Noktaya tıklamak ileti kutusunu açar, görüntülenen veri satırı alanı verileri noktayla temsil edilir. Gerekirse değerleri düzenleyebilir ve güncelleme sorgusu yayınlamak için göndere tıklayabilirsiniz. Nasıl kullanılacağına ilişkin temel talimatlar, hemen çizimin üzerinde bulunan ‘Nasıl kullanılır?’ bağlantısına tıklanarak görüntülenebilir.

6.33 Bir tabloya gözatarken, sütun adını nasıl kopyalayabilirim?

Bağlantılı sütun adına tıklayarak sıralamanın yanısıra başlık hücrelerini sürükleyerek yeniden sıralamayı destekleyen sütunları da kopyalamak için gözat tablosu başlığı hücresi içerisindeki sütun adını seçmek zordur. Sütun adını kopyalamak için, araç ipucu böyle yapmanızı söylediğinde sütun adının yanındaki boş alana çift tıklayın. Bu size sütun adıyla bir girdi kutusu gösterecektir. Bu girdi kutusu içerisinden panonuza kopyalamak için sütun adına sağ tıklayabilirsiniz.

6.34 Sık Kullanılan Tablolar özelliğini nasıl kullanabilirim?

Sık Kullanılan Tablolar özelliği Son Tablolar özelliğine çok benzer. Gezinti panelindeki herhangi bir veritabanının sıkça kullanılan tabloları için bir kısayol eklemenize izin verir. Listeden basitçe seçerek listedeki herhangi bir tabloya kolayca gidebilirsiniz. Eğer phpMyAdmin Yapılandırma Depolamanızı yapılandırmadıysanız, bu tablolar tarayıcınızın yerel depolamasında saklanır. Aksi takdirde bu girişler phpMyAdmin Yapılandırma Depolaması içinde saklanır.

ÖNEMLİ: phpMyAdmin Yapılandırma Depolaması yokluğunda, Sık Kullanılan tablolarınız kendi içlerinde farklı seçimlerinize bağlı olarak farklı tarayıcılarda farklı olabilir.

Bir tabloyu Sık Kullanılan listesine eklemek için bir Veritabanının tablolarının listesindeki bir tablo adının önünde bulunan Gri yıldıza basitçe tıklayın ve yıldız ‘Sarı’ rengine dönene kadar bekleyin. Listeden bir tabloyu kaldırmak için Sarı yıldıza tıklayın ve tekrar Gri rengine dönene kadar bekleyin.

config.inc.php dosyanızdaki $cfg['NumFavoriteTables'] dizgisini kullanarak, gezinti panelinde gösterilen sık kullanılan tabloların en fazla sayısını tanımlayabilirsiniz. Varsayılan değeri 10 dur.

6.35 Aralığı arama özelliğini nasıl kullanabilirim?

Aralığı arama özelliğinin yardımıyla, biri Arama sekmesinden bir tablo arama işlemi gerçekleştirirken belirli sütun(lar) için değerlerin aralığını belirleyebilir.

Bu özelliği kullanmak için sütun adının önündeki işletici seçme listesinden basitçe BETWEEN veya NOT BETWEEN işleticilerine tıklayın. Yukarıdaki seçeneklerden biri seçildiğinde, bu sütun için En Az ve En Fazla değeri soran bir ileti kutusu görünecek. Kesin sonuçlardan sadece BETWEEN durumunda olan değerlerin belirlenen aralığı dahil edilecektir ve NOT BETWEEN durmunda olanlar hariç tutulacaktır.

Not: Aralığı arama özelliği sadece ‘Sayısal’ ve ‘Tarih’ veri türü sütunlarında çalışacaktır.

6.36 Merkezi sütunlar nedir ve bu özelliği nasıl kullanabilirim?

Adından da anlaşılacağı gibi, Merkezi sütunlar özelliği veritabanı başına aynı veri öğesi için benzer ismi önlemek için bir merkezi sütunlar listesini ve aynı veri öğesi için veri türünün tutarlılığını sağlamayı etkinleştirir. Merkezi sütunlar listesini, bu veritabanında benzer sütun adını ve sütun tanımını yazmaktan kurtaracak olan herhangi bir tablo yapısına bir öğe eklemek için kullanabilirsiniz.

Merkezi listeye bir sütun eklemek için tablo yapısı sayfasına gidin, dahil etmek istediğiniz sütunları kontrol edin ve ondan sonra basitçe “Merkezi sütunlara ekle” seçeneğine tıklayın. Eğer bir veritabanından birden fazla tablodan tüm benzersiz sütunları eklemek istiyorsanız o zaman veritabanı yapısı sayfasına gidin, dahil etmek istediğiniz tabloları kontrol edin ve ondan sonra “Sütunları merkezi listeye ekle”yi seçin.

Merkezi listeden bir sütunu kaldırmak için tablo yapısı sayfasına gidin, kaldırmak istediğiniz sütunları kontrol edin ve ondan sonra basitçe “Merkezi sütunlardan kaldır” seçeneğine tıklayın. Eğer bir veritabanından birden fazla tablodan tüm sütunları kaldırmak istiyorsanız o zaman veritabanı yapısı sayfasına gidin, dahil etmek istediğiniz tabloları kontrol edin ve ondan sonra “Sütunları merkezi listeden kaldır”ı seçin.

Merkezi listeyi yönetmek ve görüntülemek için merkezi sütunları yönetmek istediğiniz veritabanını seçin ondan sonra üst menüden “Merkezi sütunlar”a tıklayın. Merkezi listeye yeni sütunları eklemek, düzenlemek ya da silmek için seçeneklerin olduğu bir sayfaya yönlendirileceksiniz.

6.37 Gelişmiş Tablo Yapısı özelliğini nasıl kullanabilirim?

Gelişmiş tablo yapısı özelliği tablo yapısının Üçüncü Normal Biçim’e kadar getirilmesine yardımcı olur. Normalleştirme için çeşitli adımlar sırasında öğeler hakkında sorular soran bir sihirbaz kullanıcıya sunulur ve yeni bir yapının Birinci/İkinci/Üçüncü Normal biçim içinde getirilmesi buna göre önerilir. Sihirbazın başlangıcında, kullanıcıların normalleştirmek istedikleri tablo yapısını normal biçime kadar seçmeleri gerekir.

İşte Birinci, İkinci ve Üçüncü Normal Biçimin tüm üçünü denemek için kullanabileceğiniz bir örnek tablo.

CREATE TABLE `VetOffice` (
 `petName` varchar(64) NOT NULL,
 `petBreed` varchar(64) NOT NULL,
 `petType` varchar(64) NOT NULL,
 `petDOB` date NOT NULL,
 `ownerLastName` varchar(64) NOT NULL,
 `ownerFirstName` varchar(64) NOT NULL,
 `ownerPhone1` int(12) NOT NULL,
 `ownerPhone2` int(12) NOT NULL,
 `ownerEmail` varchar(64) NOT NULL,
);

Yukarıdaki tablo primary key olmadığı gibi Birinci Normal Biçimde değil. Birincil anahtarın (petName,`ownerLastName`,`ownerFirstName`) olması gerekir. Eğer primary key önerildiği gibi seçilirse, sonuçta oluşan tablonun İkinci içinde olmayacak olmasının yanı sıra aşağıdaki bağımlıların olması durumunda Üçüncü Normal biçim de olmayacaktır.

(OwnerLastName, OwnerFirstName) -> OwnerEmail
(OwnerLastName, OwnerFirstName) -> OwnerPhone
PetBreed -> PetType

Yani OwnerEmail alanının, OwnerLastName ve OwnerFirstName alanlarına bağlı olduğunu söyler. OwnerPhone alanı OwnerLastName ve OwnerFirstName alanına bağlıdır. PetType alanı da PetBreed alanına bağlıdır.

6.38 Nasıl otomatik artan değerleri yeniden atayabilirim?

Bazı kullanıcılar, AUTO_INCREMENT değerlerini ardışık olmasını tercih ederler; bu her zaman satır silmeden sonra böyle değildir.

Bunu gerçekleştirmek için adımlar şunlardır. Bunlar elle uygulanan adımlardır çünkü onlar bir noktada elle doğrulamayı gerektirir.

  • Yeniden düzenlemek için tabloya özel erişime sahip olduğunuzdan emin olun
  • primary key sütununuzdaki (yani id), AUTO_INCREMENT ayarını kaldırın
  • Yapı > indeksler içinde birincil anahtarınızı silin
  • Birincil anahtar, AUTO_INCREMENT olarak yeni bir future_id sütunu oluşturun
  • Tablonuza gözatın ve beklentinize denk gelen yeni artışları doğrulayın
  • Eski id sütununuzu kaldırın
  • future_id sütununu id olarak yeniden adlandırın
  • Yapı > Sütunları taşı aracılığıyla yeni id sütununu taşıyın

6.39 Bir veritabanını, tabloyu, sütunu veya yordamı yeniden adlandırırken, kopyalarken veya taşırken “Yetkileri Ayarla” seçeneği nedir?

Bir veritabanını/tabloyu/sütunu/yordamı yeniden adlandırırken/kopyalarken/taşırken, MySQL kendi başına bu nesnelerle ilgili orijinal yetkileri ayarlamaz. Bu seçeneği seçerek, phpMyAdmin izin tablosunu ayarlayacak böylece kullanıcılar yeni öğeler üzerinde aynı yetkilere sahip olacak.

Örneğin: Bir kullanıcı ‘bob’@’localhost’, ‘id’ adlı bir sütun üzerinde bir ‘SELECT’ yetkisine sahip. Şimdi, eğer bu sütun ‘id_new’ olarak yeniden adlandırılırsa, MySQL, kendi başına, yeni sütun adı için sütun yetkilerini ayarlamaz. phpMyAdmin sizin için bu ayarlamayı otomatik olarak yapabilir.

Notlar:

  • Bir veritabanı için yetkiler ayarlanırken, tüm veritabanı ile ilgili öğelerin (tablolar, sütunlar ve yordamlar) yetkileri ayrıca veritabanının yeni adına ayarlanır.
  • Benzer şekilde, bir tablo için yetkiler ayarlanırken, yeni tablo içerisindeki tüm sütunların yetkileri ayrıca ayarlanır.
  • Yetkiler ayarlanırken, işlemi uygulayan kullanıcı aşağıdaki yetkilere sahip olmak zorundadır:
    • Şurada belirtilen tablolardaki SELECT, INSERT, UPDATE, DELETE yetkileri: mysql.`db`, mysql.`columns_priv`, mysql.`tables_priv`, mysql.`procs_priv`
    • FLUSH yetkisi (GENEL)

Böylece, bu nesneleri yeniden adlandırırken/kopyalarken/taşırken olduğu gibi veritabanını/tabloyu/sütunu/yordamı çoğaltmak istiyorsanız, bu seçeneği işaretlediğinizden emin olun.

6.40 “SQL” sayfasında “Parametreleri bağla” onay kutusunu görüyorum. Parametreleştirilmiş SQL sorgularını nasıl yazabilirim?

4.5 sürümünden itibaren, phpMyAdmin, “SQL” sayfasındaki parametreleştirilmiş sorguları çalıştırması için kullanıcılara izin verir. Parametrelerin önüne iki nokta üst üste (:) koyulmalıdır ve “Parametreleri bağla” onay kutusu işaretlendiğinde bu parametreler tanımlanacaktır ve bu parametrelerin girdi alanları sunulacaktır. Bu alana girilen değerler çalıştırılmadan önce sorguda yerine koyulacaktır.

6.41 Eski MySQL sürümlerinden (5.7.6 öncesi) daha yeni MySQL sürümlerine (5.7.7+) aktarılan dökümler içe aktarılırken içe aktarma hataları alıyorum, ancak aynı eski sürümlere geri aktarıldığında sorunsuz çalışırlar mı ?

Eğer 5.7.7 öncesi MySQL sunucularından yeni MySQL sunucusu 5.7.7+ sürümlerine aktarılan dökümler içe aktarılırken #1031 - ‘table_name’ için tablo depolama motoru bu seçeneğe sahip değil gibi hatalar alıyorsanız, bu InnoDB tabloları ile ROW_FORMAT=FIXED desteklenmediği için olabilir. Dahası, innodb_strict_mode değeri bir uyarı ya da bir hata olarak bildirilmekteyse tanımlanmaktadır.

MySQL 5.7.9 sürümünden bu yana, innodb_strict_mode için varsayılan değer ON’dur ve CREATE TABLE veya ALTER TABLE gibi bir ifade ile karşılaşıldığında böylece bir hata oluşturmaktadır.

İçe aktarılırken böyle hataları önlemenin iki yolu vardır:

  • İçe aktarma işlemine başlamadan önce innodb_strict_mode değerini OFF olarak değiştirmek ve içe aktarma işlemi başarılı olarak tamamlandıktan sonra ON olarak çevirmek.
  • Bu iki şekilde elde edilebilir:
    • ‘Değişkenler’ sayfasına gidin ve innodb_strict_mode değerini düzenleyin
    • Sorguyu çalıştırın : SET GLOBAL `innodb_strict_mode = ‘[değer]’`

İçe aktarma işlemi bittikten sonra, innodb_strict_mode değerinin orijinal değerine sıfırlanması önerilir.

phpMyAdmin projesi

7.1 Bir hata buldum. Geliştiricileri nasıl haberdar edebilirim?

Sorunlar izleyicimiz <https://github.com/phpmyadmin/phpmyadmin/issues> adresinde bulunur. Güvenlik sorunları için geliştiricilere doğrudan e-posta göndermek için lütfen <https://www.phpmyadmin.net/security> adresindeki talimatlara bakın.

7.2 Mesajları yeni bir dile çevirmek veya varolan bir dile yükseltmek istiyorum, nereden başlıyayım?

Çevirilere açığız ve tüm ihtiyacınız olan dil yeteneklerine sahip olmanız. En kolay yolu çevrimiçi çeviri hizmetimizi kullanmaktır. Web sitemizdeki çeviri bölümünde çevirmek için tüm olasılıkları kontrol edebilirsiniz.

7.3 phpMyAdmin’in geliştirilmesine yardım etmek isterim. Nasıl yapmalıyım?

phpMyAdmin’in geliştirilmesi için her katkıya açığız. Web sitemizdeki katkı bölümünde katkıda bulunmak için tüm olasılıkları kontrol edebilirsiniz.

Ayrıca bkz.

Geliştirici Bilgileri

Güvenlik

8.1 phpMyAdmin için verilen güvenlik uyarıları hakkında bilgiyi nereden alabilirim?

Lütfen <https://www.phpmyadmin.net/security/> adresine bakın.

8.2 phpMyAdmin’i deneme yanılma yöntemi saldırılarına karşı nasıl koruyabilirim?

Eğer Apache web sunucusu kullanıyorsanız, phpMyAdmin kimlik doğrulaması hakkındaki bilgiyi Apache ortamına aktarır ve Apache günlüklerinde kullanılabilir. Şimdilik iki değişken mevcuttur:

userID
Şu anki aktif kullanıcının kullanıcı adı (oturum açmamış olmalılar).
userStatus
Şu anki aktif kullanıcının durumu, bir tanesi ok (kullanıcı oturum açtı), mysql-denied (MySQL, kullanıcı oturum açmasını reddetti), allow-denied (kullanıcı, izin ver/reddet kuralları tarafından reddedildi), root-denied (root yapılandırma içinde reddedildi), empty-denied (boş parola reddedildi).

Apache için LogFormat yönergesi aşağıdaki gibi görünebilir:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n"   pma_combined

Ondan sonra olası zorla girme girişimleri için herhangi bir günlük çözümleme aracı kullanabilirsiniz.

8.3 Neden belirli dosyalar doğrudan yüklenirken yol açıklamaları var?

Bu bir sunucu yapılandırma sorunudur. Bir üretim sitesinde display_errors parametresini asla etkinleştirmeyin.

8.4 phpMyAdmin’den dışa aktarılan CSV dosyaları bir formül ekleme saldırısına izin verebilir.

Microsoft Excel gibi bir hesap tablosu programına aktarıldığında, bir CSV dosyası oluşturmak mümkündür, gelişigüzel komutların yürütülmesine olanak dahilinde izin verebilir.

phpMyAdmin tarafından oluşturulan CSV dosyaları olanak dahilinde bir formül gibi hesap tablosu programı tarafından yorumlanacak metin içerebilir, ancak biz bu alanların atlatılmasının uygun davranış olduğuna inanmıyoruz. Düzgün atlatmanın ve istenen bir metin çıktısı ile atlatılması gereken bir formül arasındaki farkı gözetmenin anlamı yoktur, ve CSV, işlev tanımları yine de yorumlanmaması gereken bir metin biçimidir. Biz bunu uzun uzun tartıştık ve bunun yerine girişte böyle bir veriyi düzgün bir şekilde ayrıştırmanın ve temizlemenin hesap tablosu programının sorumluluğu olduğunu hissettik.

Ayrıca Google benzer bir görünüme sahip.

Eşitleme

9.1 (geri alındı).

9.2 (geri alındı).