- -
-

FAQ - Frequently Asked Questions

-

Please have a look at our Link section on the official -phpMyAdmin homepage for in-depth coverage of phpMyAdmin’s features and -or interface.

-
-

Server

-
-

1.1 My server is crashing each time a specific action is required or phpMyAdmin sends a blank page or a page full of cryptic characters to my browser, what can I do?

-

Try to set the $cfg['OBGzip'] directive to false in your -config.inc.php file and the zlib.output_compression directive to -Off in your php configuration file.

-
-
-

1.2 My Apache server crashes when using phpMyAdmin.

-

You should first try the latest versions of Apache (and possibly MySQL). If -your server keeps crashing, please ask for help in the various Apache support -groups.

- -
-
-

1.3 (withdrawn).

-
-
-

1.4 Using phpMyAdmin on IIS, I’m displayed the error message: “The specified CGI application misbehaved by not returning a complete set of HTTP headers ...”.

-

You just forgot to read the install.txt file from the PHP -distribution. Have a look at the last message in this PHP bug report #12061 from the official PHP bug -database.

-
-
-

1.5 Using phpMyAdmin on IIS, I’m facing crashes and/or many error messages with the HTTP.

-

This is a known problem with the PHP ISAPI filter: it’s not so stable. -Please use instead the cookie authentication mode.

-
-
-

1.6 I can’t use phpMyAdmin on PWS: nothing is displayed!

-

This seems to be a PWS bug. Filippo Simoncini found a workaround (at -this time there is no better fix): remove or comment the DOCTYPE -declarations (2 lines) from the scripts libraries/Header.class.php -and index.php.

-
-
-

1.7 How can I gzip a dump or a CSV export? It does not seem to work.

-

This feature is based on the gzencode() -PHP function to be more independent of the platform (Unix/Windows, -Safe Mode or not, and so on). So, you must have Zlib support -(--with-zlib).

-
-
-

1.8 I cannot insert a text file in a table, and I get an error about safe mode being in effect.

-

Your uploaded file is saved by PHP in the “upload dir”, as defined in -php.ini by the variable upload_tmp_dir (usually the system -default is /tmp). We recommend the following setup for Apache -servers running in safe mode, to enable uploads of files while being -reasonably secure:

-
    -
  • create a separate directory for uploads: mkdir /tmp/php
  • -
  • give ownership to the Apache server’s user.group: chown -apache.apache /tmp/php
  • -
  • give proper permission: chmod 600 /tmp/php
  • -
  • put upload_tmp_dir = /tmp/php in php.ini
  • -
  • restart Apache
  • -
-
-
-

1.9 (withdrawn).

-
-
-

1.10 I’m having troubles when uploading files with phpMyAdmin running on a secure server. My browser is Internet Explorer and I’m using the Apache server.

-

As suggested by “Rob M” in the phpWizard forum, add this line to your -httpd.conf:

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

It seems to clear up many problems between Internet Explorer and SSL.

-
-
-

1.11 I get an ‘open_basedir restriction’ while uploading a file from the import tab.

-

Since version 2.2.4, phpMyAdmin supports servers with open_basedir -restrictions. However you need to create temporary directory and configure it -as $cfg['TempDir']. The uploaded files will be moved there, -and after execution of your SQL commands, removed.

-
-
-

1.12 I have lost my MySQL root password, what can I do?

-

phpMyAdmin does authenticate against MySQL server you’re using, so to recover -from phpMyAdmin password loss, you need to recover at MySQL level.

-

The MySQL manual explains how to reset the permissions.

-

If you are using MySQL server installed by your hosting provider, please -contact their support to recover the password for you.

-
-
-

1.13 (withdrawn).

-
-
-

1.14 (withdrawn).

-
-
-

1.15 I have problems with mysql.user column names.

-

In previous MySQL versions, the User and Password columns were -named user and password. Please modify your column names to -align with current standards.

-
-
-

1.16 I cannot upload big dump files (memory, HTTP or timeout problems).

-

Starting with version 2.7.0, the import engine has been re–written and -these problems should not occur. If possible, upgrade your phpMyAdmin -to the latest version to take advantage of the new import features.

-

The first things to check (or ask your host provider to check) are the values -of max_execution_time, upload_max_filesize, memory_limit and -post_max_size in the php.ini configuration file. All of these -settings limit the maximum size of data that can be submitted and handled by -PHP. Please note that post_max_size needs to be larger than -upload_max_filesize. There exist several workarounds if your upload is too -big or your hosting provider is unwilling to change the settings:

-
    -
  • Look at the $cfg['UploadDir'] feature. This allows one to upload a file to the server -via scp, FTP, or your favorite file transfer method. PhpMyAdmin is -then able to import the files from the temporary directory. More -information is available in the Configuration of this document.

    -
  • -
  • Using a utility (such as BigDump) to split the files before -uploading. We cannot support this or any third party applications, but -are aware of users having success with it.

    -
  • -
  • If you have shell (command line) access, use MySQL to import the files -directly. You can do this by issuing the “source” command from within -MySQL:

    -
    source filename.sql;
    -
    -
    -
  • -
-
-
-

1.17 Which Database versions does phpMyAdmin support?

-

For MySQL, versions 5.5 and newer are supported. -For older MySQL versions, our Downloads page offers older phpMyAdmin versions -(which may have become unsupported).

-

For MariaDB, versions 5.5 and newer are supported.

-
-
-

1.17a I cannot connect to the MySQL server. It always returns the error message, “Client does not support authentication protocol requested by server; consider upgrading MySQL client”

-

You tried to access MySQL with an old MySQL client library. The -version of your MySQL client library can be checked in your phpinfo() -output. In general, it should have at least the same minor version as -your server - as mentioned in 1.17 Which Database versions does phpMyAdmin support?. This problem is -generally caused by using MySQL version 4.1 or newer. MySQL changed -the authentication hash and your PHP is trying to use the old method. -The proper solution is to use the mysqli extension with the proper client library to match -your MySQL installation. More -information (and several workarounds) are located in the MySQL -Documentation.

-
-
-

1.18 (withdrawn).

-
-
-

1.19 I can’t run the “display relations” feature because the script seems not to know the font face I’m using!

-

The TCPDF library we’re using for this feature requires some special -files to use font faces. Please refers to the TCPDF manual to build these files.

-
-
-

1.20 I receive an error about missing mysqli and mysql extensions.

-

To connect to a MySQL server, PHP needs a set of MySQL functions -called “MySQL extension”. This extension may be part of the PHP -distribution (compiled-in), otherwise it needs to be loaded -dynamically. Its name is probably mysqli.so or php_mysqli.dll. -phpMyAdmin tried to load the extension but failed. Usually, the -problem is solved by installing a software package called “PHP-MySQL” -or something similar.

-

There are currently two interfaces PHP provides as MySQL extensions - mysql -and mysqli. The mysqli is tried first, because it’s the best one.

-

This problem can be also caused by wrong paths in the php.ini or using -wrong php.ini.

-

Make sure that the extension files do exist in the folder which the -extension_dir points to and that the corresponding lines in your -php.ini are not commented out (you can use phpinfo() to check -current setup):

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

The php.ini can be loaded from several locations (especially on -Windows), so please check you’re updating the correct one. If using Apache, you -can tell it to use specific path for this file using PHPIniDir directive:

-
LoadFile "C:/php/php5ts.dll"
-LoadModule php5_module "C:/php/php5apache2_2.dll"
-<IfModule php5_module>
-    PHPIniDir "C:/PHP"
-    <Location>
-       AddType text/html .php
-       AddHandler application/x-httpd-php .php
-    </Location>
-</IfModule>
-
-
-

In some rare cases this problem can be also caused by other extensions loaded -in PHP which prevent MySQL extensions to be loaded. If anything else fails, you -can try commenting out extensions for other databses from php.ini.

-
- -
-

1.22 I don’t see the “Location of text file” field, so I cannot upload.

-

This is most likely because in php.ini, your file_uploads -parameter is not set to “on”.

-
-
-

1.23 I’m running MySQL on a Win32 machine. Each time I create a new table the table and column names are changed to lowercase!

-

This happens because the MySQL directive lower_case_table_names -defaults to 1 (ON) in the Win32 version of MySQL. You can change -this behavior by simply changing the directive to 0 (OFF): Just -edit your my.ini file that should be located in your Windows -directory and add the following line to the group [mysqld]:

-
set-variable = lower_case_table_names=0
-
-
-
-

Note

-

Forcing this variable to 0 with –lower-case-table-names=0 on a -case-insensitive filesystem and access MyISAM tablenames using different -lettercases, index corruption may result.

-
-

Next, save the file and restart the MySQL service. You can always -check the value of this directive using the query

-
SHOW VARIABLES LIKE 'lower_case_table_names';
-
-
- -
-
-

1.24 (withdrawn).

-
-
-

1.25 I am running Apache with mod_gzip-1.3.26.1a on Windows XP, and I get problems, such as undefined variables when I run a SQL query.

-

A tip from Jose Fandos: put a comment on the following two lines in -httpd.conf, like this:

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

as this version of mod_gzip on Apache (Windows) has problems handling -PHP scripts. Of course you have to restart Apache.

-
-
-

1.26 I just installed phpMyAdmin in my document root of IIS but I get the error “No input file specified” when trying to run phpMyAdmin.

-

This is a permission problem. Right-click on the phpmyadmin folder and -choose properties. Under the tab Security, click on “Add” and select -the user “IUSR_machine” from the list. Now set his permissions and it -should work.

-
-
-

1.27 I get empty page when I want to view huge page (eg. db_structure.php with plenty of tables).

-

This was caused by a PHP bug that occur when -GZIP output buffering is enabled. If you turn off it (by -$cfg['OBGzip'] in config.inc.php), it should work. -This bug will has been fixed in PHP 5.0.0.

-
-
-

1.28 My MySQL server sometimes refuses queries and returns the message ‘Errorcode: 13’. What does this mean?

-

This can happen due to a MySQL bug when having database / table names -with upper case characters although lower_case_table_names is -set to 1. To fix this, turn off this directive, convert all database -and table names to lower case and turn it on again. Alternatively, -there’s a bug-fix available starting with MySQL 3.23.56 / -4.0.11-gamma.

-
-
-

1.29 When I create a table or modify a column, I get an error and the columns are duplicated.

-

It is possible to configure Apache in such a way that PHP has problems -interpreting .php files.

-

The problems occur when two different (and conflicting) set of -directives are used:

-
SetOutputFilter PHP
-SetInputFilter PHP
-
-
-

and

-
AddType application/x-httpd-php .php
-
-
-

In the case we saw, one set of directives was in -/etc/httpd/conf/httpd.conf, while the other set was in -/etc/httpd/conf/addon-modules/php.conf. The recommended way is -with AddType, so just comment out the first set of lines and -restart Apache:

-
#SetOutputFilter PHP
-#SetInputFilter PHP
-
-
-
-
-

1.30 I get the error “navigation.php: Missing hash”.

-

This problem is known to happen when the server is running Turck -MMCache but upgrading MMCache to version 2.3.21 solves the problem.

-
-
-

1.31 Which PHP versions does phpMyAdmin support?

-

Since release 4.5, phpMyAdmin supports only PHP 5.5 and newer. Since release -4.1 phpMyAdmin supports only PHP 5.3 and newer. For PHP 5.2 you can use 4.0.x -releases.

-

PHP 7 is supported since phpMyAdmin 4.6, PHP 7.1 is supported since 4.6.5, -PHP 7.2 is supported since 4.7.4.

-

HHVM is supported up to phpMyAdmin 4.8.

-

Since release 5.0, phpMyAdmin supports only PHP 7.1 and newer.

-
-
-

1.32 Can I use HTTP authentication with IIS?

-

Yes. This procedure was tested with phpMyAdmin 2.6.1, PHP 4.3.9 in -ISAPI mode under IIS 5.1.

-
    -
  1. In your php.ini file, set cgi.rfc2616_headers = 0
  2. -
  3. In Web Site Properties -> File/Directory Security -> Anonymous -Access dialog box, check the Anonymous access checkbox and -uncheck any other checkboxes (i.e. uncheck Basic authentication, -Integrated Windows authentication, and Digest if it’s -enabled.) Click OK.
  4. -
  5. In Custom Errors, select the range of 401;1 through 401;5 -and click the Set to Default button.
  6. -
-
-

See also

-

RFC 2616

-
-
-
-

1.33 (withdrawn).

-
-
-

1.34 Can I directly access a database or table pages?

-

Yes. Out of the box, you can use a URL like -http://server/phpMyAdmin/index.php?server=X&db=database&table=table&target=script. -For server you can use the server number -which refers to the numeric host index (from $i) in -config.inc.php. The table and script parts are optional.

-

If you want a URL like -http://server/phpMyAdmin/database[/table][/script], you need to do some additional configuration. The following -lines apply only for the Apache web server. -First, make sure that you have enabled some features within the Apache global -configuration. You need Options SymLinksIfOwnerMatch and AllowOverride -FileInfo enabled for directory where phpMyAdmin is installed and you -need mod_rewrite to be enabled. Then you just need to create the -following .htaccess file in root folder of phpMyAdmin installation (don’t -forget to change directory name inside of it):

-
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]
-
-
- -
-
-

1.35 Can I use HTTP authentication with Apache CGI?

-

Yes. However you need to pass authentication variable to CGI using -following rewrite rule:

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

1.36 I get an error “500 Internal Server Error”.

-

There can be many explanations to this and a look at your server’s -error log file might give a clue.

-
- -
-

1.38 Can I use phpMyAdmin on a server on which Suhosin is enabled?

-

Yes but the default configuration values of Suhosin are known to cause -problems with some operations, for example editing a table with many -columns and no primary key or with textual primary key.

-

Suhosin configuration might lead to malfunction in some cases and it -can not be fully avoided as phpMyAdmin is kind of application which -needs to transfer big amounts of columns in single HTTP request, what -is something what Suhosin tries to prevent. Generally all -suhosin.request.*, suhosin.post.* and suhosin.get.* -directives can have negative effect on phpMyAdmin usability. You can -always find in your error logs which limit did cause dropping of -variable, so you can diagnose the problem and adjust matching -configuration variable.

-

The default values for most Suhosin configuration options will work in -most scenarios, however you might want to adjust at least following -parameters:

- -

To further improve security, we also recommend these modifications:

- -

You can also disable the warning using the $cfg['SuhosinDisableWarning'].

-
-
-

1.39 When I try to connect via https, I can log in, but then my connection is redirected back to http. What can cause this behavior?

-

This is caused by the fact that PHP scripts have no knowledge that the site is -using https. Depending on used webserver, you should configure it to let PHP -know about URL and scheme used to access it.

-

For example in Apache ensure that you have enabled SSLOptions and -StdEnvVars in the configuration.

- -
- -
-

1.41 When I view a database and ask to see its privileges, I get an error about an unknown column.

-

The MySQL server’s privilege tables are not up to date, you need to -run the mysql_upgrade command on the server.

-
-
-

1.42 How can I prevent robots from accessing phpMyAdmin?

-

You can add various rules to .htaccess to filter access based on user agent -field. This is quite easy to circumvent, but could prevent at least -some robots accessing your installation.

-
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 Why can’t I display the structure of my table containing hundreds of columns?

-

Because your PHP’s memory_limit is too low; adjust it in php.ini.

-
-
-

1.44 How can I reduce the installed size of phpMyAdmin on disk?

-

Some users have requested to be able to reduce the size of the phpMyAdmin installation. -This is not recommended and could lead to confusion over missing features, but can be done. -A list of files and corresponding functionality which degrade gracefully when removed include:

-
    -
  • ./vendor/tecnickcom/tcpdf folder (exporting to PDF)
  • -
  • ./locale/ folder, or unused subfolders (interface translations)
  • -
  • Any unused themes in ./themes/
  • -
  • ./js/vendor/jquery/src/ (included for licensing reasons)
  • -
  • ./js/line_counts.php (removed in phpMyAdmin 4.8)
  • -
  • ./doc/ (documentation)
  • -
  • ./setup/ (setup script)
  • -
  • ./examples/
  • -
  • ./sql/ (SQL scripts to configure advanced functionality)
  • -
  • ./js/vendor/openlayers/ (GIS visualization)
  • -
-
-
-

1.45 I get an error message about unknown authentication method caching_sha2_password when trying to log in

-

When logging in using MySQL version 8 or newer, you may encounter an error message like this:

-
-

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

-

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

-
-

This error is because of a version compatibility problem between PHP and MySQL. The MySQL project introduced a new authentication -method (our tests show this began with version 8.0.11) however PHP did not include the ability to use that authentication method. -PHP reports that this was fixed in PHP version 7.4.

-

Users experiencing this are encouraged to upgrade their PHP installation, however a workaround exists. Your MySQL user account -can be set to use the older authentication with a command such as

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

Configuration

-
-

2.1 The error message “Warning: Cannot add header information - headers already sent by ...” is displayed, what’s the problem?

-

Edit your config.inc.php file and ensure there is nothing (I.E. no -blank lines, no spaces, no characters...) neither before the <?php tag at -the beginning, neither after the ?> tag at the end.

-
-
-

2.2 phpMyAdmin can’t connect to MySQL. What’s wrong?

-

Either there is an error with your PHP setup or your username/password -is wrong. Try to make a small script which uses mysql_connect and see -if it works. If it doesn’t, it may be you haven’t even compiled MySQL -support into PHP.

-
-
-

2.3 The error message “Warning: MySQL Connection Failed: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111) ...” is displayed. What can I do?

-

The error message can also be: Error #2002 - The server is not -responding (or the local MySQL server’s socket is not correctly configured).

-

First, you need to determine what socket is being used by MySQL. To do this, -connect to your server and go to the MySQL bin directory. In this directory -there should be a file named mysqladmin. Type ./mysqladmin variables, and -this should give you a bunch of info about your MySQL server, including the -socket (/tmp/mysql.sock, for example). You can also ask your ISP for the -connection info or, if you’re hosting your own, connect from the ‘mysql’ -command-line client and type ‘status’ to get the connection type and socket or -port number.

-

Then, you need to tell PHP to use this socket. You can do this for all PHP in -the php.ini or for phpMyAdmin only in the config.inc.php. For -example: $cfg['Servers'][$i]['socket'] Please also make sure -that the permissions of this file allow to be readable by your webserver.

-

On my RedHat-Box the socket of MySQL is /var/lib/mysql/mysql.sock. -In your php.ini you will find a line

-
mysql.default_socket = /tmp/mysql.sock
-
-
-

change it to

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

Then restart apache and it will work.

-

Have also a look at the corresponding section of the MySQL -documentation.

-
-
-

2.4 Nothing is displayed by my browser when I try to run phpMyAdmin, what can I do?

-

Try to set the $cfg['OBGzip'] directive to false in the phpMyAdmin configuration -file. It helps sometime. Also have a look at your PHP version number: -if it contains “b” or “alpha” it means you’re running a testing -version of PHP. That’s not a so good idea, please upgrade to a plain -revision.

-
- -
-

2.6 I get an “Acc