diff --git a/CREDITS b/CREDITS index 887b08e9e..46dbffa35 100644 --- a/CREDITS +++ b/CREDITS @@ -21,6 +21,11 @@ CREDITS, in chronological order * current project maintainer, with Marc and Loic [lc] - Loïc Chapeaux + * rewrote and optimized javascript, DHTML and DOM stuff + * started to rewrite the scripts so they are XHTML1.0, CSS2 compliant + and fit the PEAR coding standards + * improved the language detection system + * bugfixes [mg] - Mirko Giese @@ -37,6 +42,15 @@ CREDITS, in chronological order [pk] - Pete Kelly +The following people have contributed minor changes, enhancements, bugfixes or +or support for a new language since version 2.1.0: +Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Borges Botelho, +Olivier Bussier, Michal Cihar, Neil Darlow, Kristof Hamann, Thomas Kläger, +Martin Marconcini, David Nordenberg, Bernard M. Piller,Laurent Haas, +"Sakamoto", www.securereality.com.au, Michael Tacelosky, Daniel Villanueva, +Chee Wai, Thomas Michael Winningham, + + Original Credits of Version 2.1.0 --------------------------------- @@ -69,9 +83,10 @@ Original Credits of Version 2.1.0 for 2.0.6. The following people have contributed minor changes, enhancements, bugfixes or support for a new language: - Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, Alexander Leidinger, - Kiko Albiol, Daniel C. Chao, Pavel Piankov, Sascha Kettler, Joe Pruett, - Renato Lins, Mark Kronsbein, Jannis Hermanns, G. Wieggers. + Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, + Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov, + Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns, + G. Wieggers. And thanks to everyone else who sent me email with suggestions, bug-reports and or just some feedback. diff --git a/ChangeLog b/ChangeLog index 094370505..4bce8cef6 100755 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,16 @@ phpMyAdmin - Changelog $Id$ $Source$ +2001-07-11 Loïc Chapeaux + * tbl_properties.php3, db_details.php3: fixed some bugs with php3 + (0 != empty). + * lib.inc.php3, lines 14-15: fixed bug #440430 with php3. + * grab_globals.inc.php3, tbl_printview.php3: removed the '^M' at the end of + some lines. + * Documentation.html: rewritten to validates xhtml1.0 & css2, added some + words about a common socket error and updated credits. + * french translation updated thanks to Laurent Haas. + 2001-07-11 Steve Alberty * tbl_properties.php3: fix division by zero error * tbl_change.php3: enlarge binary protection to (var)char binary diff --git a/Documentation.html b/Documentation.html index c4c483bef..b9a694d8d 100755 --- a/Documentation.html +++ b/Documentation.html @@ -1,66 +1,109 @@ - + + + -phpMyAdmin 2.2.0rc1 - Documentation - + + phpMyAdmin 2.2.0rc1 - Documentation + +

phpMyAdmin 2.2.0 Documentation

+ + + -
-
-Top  -  -Introduction  -  -Installation  -  -Configuration  -  -FAQ  -  -Developpers  -  -Credits -
+ + +
+
+ + Top  -  + Introduction  -  + Installation  -  + Configuration  -  + FAQ  -  + Developpers  -  + Credits + +

Introduction

@@ -72,389 +115,689 @@ h2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size:large; font-w MySQL manual. Currently phpMyAdmin can:

-
    -
  • create and drop databases -
  • create, copy, drop and alter tables -
  • delete, edit and add fields -
  • execute any SQL-statement, even batch-queries -
  • manage keys on fields -
  • load text files into tables -
  • create (*) and read dumps of tables -
  • export (*) and import data to CSV values -
  • administer multiple servers and single databases -
  • communicate in more than 20 different languages -
+
    +
  • create and drop databases
  • +
  • create, copy, drop and alter tables
  • +
  • delete, edit and add fields
  • +
  • execute any SQL-statement, even batch-queries
  • +
  • manage keys on fields
  • +
  • load text files into tables
  • +
  • create (*) and read dumps of tables
  • +
  • export (*) and import data to CSV values
  • +
  • administer multiple servers and single databases
  • +
  • communicate in more than 20 different languages
  • +
-

-(*) phpMyAdmin can compress (GZip format - RFC 1952) dumps and CSV exports if -you use PHP4>=4.0.4 with Zlib support (--with-zlib) -

+ + + + + +
(*)  + phpMyAdmin can compress (GZip format - RFC 1952) dumps and CSV exports + if you use PHP4>=4.0.4 with Zlib support (--with-zlib) +
-
-
-Top  -  -Introduction  -  -Installation  -  -Configuration  -  -FAQ  -  -Developpers  -  -Credits -
+ + +
+
+ + Top  -  + Introduction  -  + Installation  -  + Configuration  -  + FAQ  -  + Developpers  -  + Credits + +

Installation

- -

Quick Install: +

Quick Install:

    -
  1. Untar or unzip the distribution (be sure to untar the subdirectories) - tar xzvf phpMyAdmin_x.x.x.tar.gz
  2. -
  3. Open the file config.inc.php3 in your favourite editor and change - the values for host, user and password to fit your environment. - Have a look at Documentation.html for an explanation of all values.
  4. -
  5. It is recommended that you protect the directory in which - you installed phpMyAdmin (unless it's on a closed intranet), - for example with HTTP-AUTH (in a .htaccess-file).
  6. -
  7. Open the file //index.php3 - in your browser. phpMyAdmin should now display a welcome screen - and your databases, or a login dialog if using advanced authentication.
  8. +
  9. Untar or unzip the distribution (be sure to untar the subdirectories): + tar xzvf phpMyAdmin_x.x.x.tar.gz
  10. +
  11. Open the file config.inc.php3 in your favourite editor and change + the values for host, user and password to fit your environment. + Have a look at Documentation.html for an explanation of all + values.
  12. +
  13. It is recommended that you protect the directory in which + you installed phpMyAdmin (unless it's on a closed intranet), + for example with HTTP-AUTH (in a .htaccess file).
  14. +
  15. Open the file + <www.your-host.com>/<your-install-dir>/index.php3 + in your browser. phpMyAdmin should now display a welcome screen + and your databases, or a login dialog if using advanced authentication.
- Installation notes: +

Installation notes:

    -
  • Be sure to protect the phpMyAdmin-directory. By default, it is not - protected in any way! It shouldn't be readable by anyone and - especially not by search-engines. Although I've added a "nofollow" - directive on every page, there may be search-engines that don't - care about that and still follow the links on the page. - Think of AltaVista following a link named "Drop Database" - You can get an overview of Apache's authentification methods at - http://www.apacheweek.com/features/userauth . Another tutorial is at - http://deepthought.texsci.edu/protected_dirs.html
  • -
  • If you don't use the extension ".php3" for your scripts, you can use - the bundled script "extchg.sh" to modify phpMyAdmin (or any other script) - to work with a different extension. Beware though, that currently changing - the extension from .html to something other won't work (it'd change all - "string".htmlspecialchars() constructs).
  • +
  • Be sure to protect the phpMyAdmin-directory. By default, it is not + protected in any way! It shouldn't be readable by anyone and + especially not by search-engines. Although I've added a "nofollow" + directive on every page, there may be search-engines that don't + care about that and still follow the links on the page. + Think of AltaVista following a link named "Drop Database". + You can get an overview of Apache's authentification methods at:
    +           + http://www.apacheweek.com/features/userauth
    + Another tutorial is at:
    +           + http://deepthought.texsci.edu/protected_dirs.html
  • +
  • If you don't use the extension ".php3" for your scripts, you can use + the bundled script extchg.sh to modify phpMyAdmin (or any other + script) to work with a different extension. Beware though, that + currently changing the extension from .html to something other won't + work (it'd change all "string".htmlspecialchars() constructs).
-

-

Upgrading from an older version: +

Upgrading from an older version:

    -
  • Please do not copy your older config.inc.php3 over the new one: it may offer new configuration variables, and the new version may depend on these for normal behavior. It is suggested instead to insert your site values in the new one. +
  • Please do not copy your older config.inc.php3 over the new one: it may offer new configuration variables, and the new version may depend on these for normal behavior. It is suggested instead to insert your site values in the new one.
-

-
-
-Top  -  -Introduction  -  -Installation  -  -Configuration  -  -FAQ  -  -Developpers  -  -Credits -
+ +
+
+ + Top  -  + Introduction  -  + Installation  -  + Configuration  -  + FAQ  -  + Developpers  -  + Credits + +

Configuration

+

All configurable data is placed in config.inc.php3.

-

$cfgServers array
- Since version 1.4.2, phpMyAdmin supports the adminstration of multiple MySQL-server. - Therefore, a $cfgServers-array has been added which contains the login information - for the different servers. $cfgServers[1]['host'] contains the hostname of the - first server, $cfgServers[2]['host'] the hostname of the second server, etc. - If you have only one server to administer, simply leave free the hostname of - the other $cfgServer-entries. -

$cfgServers[n]['host'] string
- The hostname of your n-th MySQL-server. E.g. localhost.

-

$cfgServers[n]['port'] string
- The port-number of your n-th MySQL-server. Default is 3300 (leave blank).

-

$cfgServers[n]['adv_auth'] boolean
- Whether basic or advanced authentication should be used for this server. Basic - authentication ($adv_auth = false) is the plain old way: username and password - are stored in config.inc.php3. Advanced authentication $adv_auth = true) as - introduced in 1.3.0 allows you to log in as any valid MySQL user via HTTP-Auth.

Please note that this authentication mode is only supported with PHP running as an Apache module, and not with cgi. -

All you have to provide in config.inc is a standard user which can connect to - MySQL and read the mysql user/db table (see $cfgServers[n]['stduser']).
- Using advanced authentication is recommended:

-
    -
  • when phpMyAdmin is running in a multi-user environment where people have - shell-access that you don't want to know the username/password for MySQL.
  • -
  • when you want to give users access to their own database and don't want - them to play around with others.
  • -
-

Advanced authentication is secure as the standard user needs just read-only-access - to the mysql database. MySQL passwords cannot be decrypted easily, so there's - no chance for a normal user to look at other users' plaintext passwords.

-

$cfgServers[n]['stduser'] string
- $cfgServers[n]['stdpass'] string
- A user/pasword pair used to verify the real user/password pair when using advanced - authentification. This user must be able to connect to MySQL and read the mysql - user table. Not needed when using basic authentification.

-

$cfgServers[n]['user'] string
- $cfgServers[n]['password'] string
- The user/password-pair which phpMyAdmin will use to connect to this MySQL-server - when using basic authentification. Not needed when using advanced authentification.

-

$cfgServers[n]['only_db'] string
- If set to a database name, only this database will be shown to the user.

-

$cfgServers[n]['verbose'] string
- Only useful when using phpMyAdmin with multiple server entries. If set, this - string will be displayed instead of the hostname in the pulldown menu on the - main page. This can be useful if you want to show only certain databases on - your system, for example.
-

-

$cfgServers[n]['bookmarkdb'] string
- $cfgServers[n]['bookmarktable'] string
- Since release 2.2.0 phpMyAdmin allows to bookmark queries. This can be useful for queries - you often run. To use this functionality you have to:

-
    -
  • create a table following this scheme:
    -      CREATE TABLE bookmark (
    -        id int(11) DEFAULT '0' NOT NULL auto_increment,
    -        dbase varchar(255) NOT NULL,
    -        label varchar(255) NOT NULL,
    -        query text NOT NULL,
    -        PRIMARY KEY (id)
    -      );
  • -
  • then complete the two variables $cfgServers[n]['bookmarkdb'] and - $cfgServers[n]['bookmarktable'] so phpMyAdmin will be able to find the bookmark table.
  • -
-

$cfgServerDefault integer
- If you have more than one server configured, you can set $cfgServerDefault to any one of - them to autoconnect to that server when phpMyAdmin is started, or set it to 0 to be given - a list of servers without logging in. - If you have only one server configured, $cfgServerDefault MUST be set to that server. -

+
+
$cfgServers array
+
+ Since version 1.4.2, phpMyAdmin supports the adminstration of multiple + MySQL-server. + Therefore, a $cfgServers-array has been added which contains the login + information for the different servers. $cfgServers[1]['host'] contains + the hostname of the first server, $cfgServers[2]['host'] the hostname + of the second server, etc. + If you have only one server to administer, simply leave free the + hostname of the other $cfgServer-entries. +

+
-

$cfgManualBase string
- If set to an URL which points to the MySQL documentation, appropriate help links -are generated.
-

-

$cfgConfirm boolean
- Whether a warning ("Are your really sure..") should be displayed when - you're about to loose data.

-

$cfgPersistentConnections boolean
- Whether persistent connections should be used or not (mysql_connect or mysql_pconnect).

-

$cfgBorder integer
- The size of a table's border.

-

$cfgThBgcolor string [HTML color]
- The color (HTML) used for table headers.

-

$cfgBgcolorOne string [HTML color]
- The color (HTML) #1 for table rows.

-

$cfgBgcolorTwo string [HTML color]
- The color (HTML) #2 for table rows.

-

$cfgMaxRows integer
- Number of rows displayed when browsing a resultset. If the resultset contains - more rows, Previous/Next links will be shown.

-

$cfgMaxInputsize integer
- Size of the edit-field when adding a new record to a table.

-

$cfgOrder string ["DESC"|"ASC"]
- Defines whether fields are displayed in ascending ("ASC") order or in descending - ("DESC") order when you click on the field-name. -

$cfgShowBlob boolean
- Defines whether BLOB fields are shown when browsing a table's content or not. -

$cfgShowSQL boolean
- Defines whether sql-queries generated by phpMyAdmin should be displayed or not. -

$cfgModifyDeleteAtLeft boolean
- $cfgModifyDeleteAtRight boolean
- Defines the place where modify and delete links would be put when tables contents are - displayed (you may have them displayed both at the left and at the right).
-

+
$cfgServers[n]['host'] string
+
+ The hostname of your n-th MySQL-server. E.g. localhost. +

+
-

$cfgDefaultLang string
- Defines the default language to use, if not browser-defined or user-defined.
- See the select_lang.inc.php3 script to know the valid values for this setting.

-

$cfgLang string
- Force: always use this language (must be defined in the select_lang.inc.php3 script).
-

+
$cfgServers[n]['port'] string
+
+ The port-number of your n-th MySQL-server. Default is 3300 (leave + blank). +

+
-

$cfgColumnTypes array
- All possible types of a MySQL column. In most cases you don't need to edit this.

-

$cfgFunctions array
- A list of functions MySQL supports. In most cases you don't need to edit this.

-

$cfgAttributeTypes array
- Possible attributes for fields. In most cases you don't need to edit this.

+
$cfgServers[n]['adv_auth'] boolean
+
+ Whether basic or advanced authentication should be used for this + server.
+ Basic authentication ($adv_auth = false) is the plain old way: + username and password are stored in config.inc.php3. + Advanced authentication $adv_auth = true) as introduced in 1.3.0 + allows you to log in as any valid MySQL user via HTTP-Auth.
+ Please note that this authentication mode is + only supported with PHP running as an Apache + module, and not with cgi.

-
-
-Top  -  -Introduction  -  -Installation  -  -Configuration  -  -FAQ  -  -Developpers  -  -Credits -
+ Using advanced authentication is recommended: +
    +
  • + when phpMyAdmin is running in a multi-user environment where + people have shell-access that you don't want to know the + username/password for MySQL. +
  • +
  • + when you want to give users access to their own database and + don't want them to play around with others. +

    +
  • +
+ + Advanced authentication is secure as the standard user needs just + read-only-access to the mysql database. MySQL passwords cannot be + decrypted easily, so there's no chance for a normal user to look at + other users' plaintext passwords.

+ + All you have to provide in config.inc is a standard user which can + connect to MySQL and read the mysql user/db table + (see $cfgServers[n]['stduser']). +

+
+ +
+ $cfgServers[n]['stduser'] string
+ $cfgServers[n]['stdpass'] string +
+
+ A user/pasword pair used to verify the real user/password pair when + using advanced authentification. This user must be able to connect to + MySQL and read the mysql user table.
+ Not needed when using basic authentification. +

+
+ +
+ $cfgServers[n]['user'] string
+ $cfgServers[n]['password'] string +
+
+ The user/password-pair which phpMyAdmin will use to connect to this + MySQL-server when using basic authentification.
+ Not needed when using advanced authentification. +

+
+ +
$cfgServers[n]['only_db'] string
+
+ If set to a database name, only this database will be shown to the + user. +

+
+ +
$cfgServers[n]['verbose'] string
+
+ Only useful when using phpMyAdmin with multiple server entries. If set, + this string will be displayed instead of the hostname in the pulldown + menu on the main page. This can be useful if you want to show only + certain databases on your system, for example. +

+
+ +
+ $cfgServers[n]['bookmarkdb'] string
+ $cfgServers[n]['bookmarktable'] string +
+
+ Since release 2.2.0 phpMyAdmin allows to bookmark queries. This can be + useful for queries you often run.

+ + To use this functionality you have to: +
    +
  • + create a table following this scheme:
    + +      CREATE TABLE bookmark (
    +        id int(11) DEFAULT '0' NOT NULL auto_increment,
    +        dbase varchar(255) NOT NULL,
    +        label varchar(255) NOT NULL,
    +        query text NOT NULL,
    +        PRIMARY KEY (id)
    +      ); +
    +
  • +
  • + then complete the two variables $cfgServers[n]['bookmarkdb'] + and $cfgServers[n]['bookmarktable'] so phpMyAdmin will be able + to find the bookmark table. +
  • +
+
+
+ +
$cfgServerDefault integer
+
+ If you have more than one server configured, you can set + $cfgServerDefault to any one of them to autoconnect to that server when + phpMyAdmin is started, or set it to 0 to be given a list of servers + without logging in.
+ If you have only one server configured, $cfgServerDefault MUST be set + to that server. +

+
+ +
$cfgManualBase string
+
+ If set to an URL which points to the MySQL documentation, appropriate + help links are generated. +

+
+ +
$cfgConfirm boolean
+
+ Whether a warning ("Are your really sure..") should be + displayed when you're about to loose data. +

+
+ +
$cfgPersistentConnections boolean
+
+ Whether persistent connections should be used or not (mysql_connect or + mysql_pconnect). +

+
+ +
$cfgBorder integer
+
+ The size of a table's border. +

+
+ +
$cfgThBgcolor string [HTML color]
+
+ The color (HTML) used for table headers. +

+
+ +
$cfgBgcolorOne string [HTML color]
+
+ The color (HTML) #1 for table rows. +

+
+ +
$cfgBgcolorTwo string [HTML color]
+
+ The color (HTML) #2 for table rows. +

+
+ +
$cfgMaxRows integer
+
+ Number of rows displayed when browsing a resultset. If the resultset + contains more rows, Previous/Next links will be shown. +

+
+ +
$cfgMaxInputsize integer
+
+ Size of the edit-field when adding a new record to a table. +

+
+ +
$cfgOrder string ["DESC"|"ASC"]
+
+ Defines whether fields are displayed in ascending ("ASC") order or in + descending ("DESC") order when you click on the field-name. +

+
+ +
$cfgShowBlob boolean
+
+ Defines whether BLOB fields are shown when browsing a table's content + or not. +

+
+ +
$cfgShowSQL boolean
+
+ Defines whether sql-queries generated by phpMyAdmin should be displayed + or not. +

+
+ +
+ $cfgModifyDeleteAtLeft boolean
+ $cfgModifyDeleteAtRight boolean +
+
+ Defines the place where modify and delete links would be put when + tables contents are displayed (you may have them displayed both at the + left and at the right). +

+
+ +
$cfgDefaultLang string
+
+ Defines the default language to use, if not browser-defined or + user-defined.
+ See the select_lang.inc.php3 script to know the valid values for + this setting. +

+
+ +
$cfgLang string
+
+ Force: always use this language (must be defined in the + select_lang.inc.php3 script). +

+
+ +
$cfgColumnTypes array
+
+ All possible types of a MySQL column. In most cases you don't need to + edit this. +

+
+ +
$cfgFunctions array
+
+ A list of functions MySQL supports. In most cases you don't need to + edit this. +

+
+ +
$cfgAttributeTypes array
+
+ Possible attributes for fields. In most cases you don't need to edit + this. +
+
+ + + +
+
+ + Top  -  + Introduction  -  + Installation  -  + Configuration  -  + FAQ  -  + Developpers  -  + Credits + +

FAQ - Frequently Asked Questions

-

I can't insert new rows into a table - MySQL brings up a SQL-error.
-
-Examine the SQL error with care. I've found that many programmers specifying a wrong field-type. Common errors include:

+ +

+ I can't insert new rows into a table - MySQL brings up a SQL-error. +
+ Examine the SQL error with care. I've found that many programmers + specifying a wrong field-type.
+ Common errors include: +

    -
  • Using VARCHAR without a size argument -
  • Using TEXT or BLOB with a size argument
  • +
  • Using VARCHAR without a size argument
  • +
  • Using TEXT or BLOB with a size argument

-Also, look at the syntax chapter in the MySQL manual to confirm that your syntax is correct.

-

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.

-

I cannot edit the content of a table, even if the README says this is a - feature of phpMyAdmin.
-
phpMyAdmin allows only editing of a table's content if the table contains - a primary or unique key.

-

phpMyAdmin always gives "Access denied" when using advanced authentification.
-
This could happen for some reasons: -

    -
  • $stduser/$stdpassword is wrong. Try to turn off $adv_auth and use this username and password to connect to MySQL. -
  • The username/password your specify in the login-dialog is wrong. Try the same as above and see if it works. - -
  • You have already setup a security mechanism for the phpMyAdmin-directory, - eg. a .htaccess file. This would interfere with phpMyAdmin's authentification, - so remove it. -
-

I would like to help out with the development of phpMyAdmin. How should I proceed?
-
- The following method is preferred for new developers: -

    -
  • fetch the current CVS tree over anonymous CVS:
    - cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login
    - [Password: simply press the Enter key]
    - cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin
    -    or
    - cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin-devel
    - [This will create a new sub-directory named phpMyAdmin or phpMyAdmin-devel]
    -
  • add your stuff -
  • put the modified files (tar'ed and gzip'ed) inside the patch tracker of the - phpMyAdmin SourceForge account. -
-

Write access to the CVS tree is granted only to experienced developers who have already contributed something useful to phpMyAdmin.
- Also, have a look at the file DEVELOPERS. -

-

What's the preferred way of making phpMyAdmin secure against evil access?
-
This depends on your system. If you're running a server which cannot be - accessed by other people, it's sufficient to use the directory protection bundled - with your webserver (with Apache you can use .htaccess files, for example). - If other people have telnet access to your server, it's not a good idea to store - the MySQL password in clear text in your config.inc.php3 file. You should use - phpMyAdmin's advanced authentification feature in this case. -

How can I insert a null value into my table?
-
Enter "null", without the quotes, as the field's value. This - is especially useful for Timestamp ot AutoIncrement fields. -

I'm an ISP. Can I setup one central copy of phpMyAdmin or do I need to install - it for each customer?
-
Since version 2.0.3, you can setup a central copy of phpMyAdmin for all - your users. The development of this feature was kindly sponsored by NetCologne - GmbH.
- This requires a properly setup MySQL user management and phpMyAdmin's advanced - authentication. phpMyAdmin performs these steps, when authenticating a user: -

    -
  1. Select all entries from the mysql.user table where the username/password - matches the challenging user. If no rows are returned, the authentication - has failed. Otherwise, phpMyAdmin continues with step 2.
  2. -
  3. If the user's global Select_Priv is "N" (ie the user is not allowed - to access all databases), phpMyAdmin searches the mysql.db table for - entries with Select_Priv = "Y" belonging to the user. If no entries - are found, the authentication has failed. Otherwise, phpMyAdmin shows all - databases the user is allowed to view.
    - If the user's global Select_Priv is "Y", all databases in the system - are shown.
    -
  4. -
-

This means that you need to add a user to the mysql database as following:
- INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, - Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, - File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('localhost', - 'foo', PASSWORD('bar'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', - 'N', 'N', 'N')
- INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, - Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) - VALUES ('localhost', 'foo_db', 'foo', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', - '', '')
- Then only the "foo_db" database will be displayed to user "foo".

- -

How can I GZip a dump or a CSV export. It seem to not work?
-This feature is based on gzencode() to be more independent of the platform -(Unix/Windows, Safe Mode or not, and so on). -So, you must have PHP4 >= 4.0.4 and Zlib support (--with-zlib). + Also, look at the syntax chapter in the MySQL manual to confirm that your + syntax is correct.

-
-
-Top  -  -Introduction  -  -Installation  -  -Configuration  -  -FAQ  -  -Developpers  -  -Credits -
+

+ 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. +

-

Developpers Information

- -

phpMyAdmin is Open Source, so you're invited to contribute to it. - Many great features have been written by other people and you too - can help to make phpMyAdmin a useful tool.

- -

- If you're planning to contribute source, please read the following - information: -

    -
  • All files include header.inc.php3 (layout), lib.inc.php3 (common functions) - and config.inc.php3. All configuration data belongs in config.inc.php3. - Please keep it free from other code. - Commonly used functions should be added to lib.inc.php3.
  • -
  • Obviously, you're free to use whatever coding style you want. But please - try to keep your code as simple as possible: beginners are using phpMyAdmin - as an example application.
  • -
  • Please try to keep up the file-naming conventions. Table-related stuff - goes to tbl_*.php3, db-related code to db_*.php3 and so on.
  • -
  • Please don't use verbose strings in your code, instead add the string - (at least) to english.inc.php3 and print() it out.
  • -
  • If you want to be really helpful, write an entry for the ChangeLog.
  • +

    + 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? +
    + Here is a fix suggested by Brad Ummer in the + + phpwizard forum: +

    +
      +
    • + First, you need to determine what socket is being used by MySQL. +
      + To do this, telnet 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). +
    • +
    • + Then, you need to tell PHP to use this socket.
      Assuming you are + using PHP 3.0.10 or better, you can specify the socket to use when you + open the connection. To do this in phpMyAdmin, you need to edit the + host information in the config.inc.php file using the format + 'host_name:socket_name'.
      + For example: + $cfgServers[n]['host'] = 'localhost:/tmp/mysql.sock'; +
    + +

    + I cannot edit the content of a table, even if the README says this is a + feature of phpMyAdmin. +
    + phpMyAdmin allows only editing of a table's content if the table contains + a primary or unique key. +

    + +

    + phpMyAdmin always gives "Access denied" when using advanced + authentification. +
    + This could happen for some reasons: +

    +
      +
    • + $stduser/$stdpassword is wrong. Try to turn off $adv_auth and use this + username and password to connect to MySQL. +
    • +
    • + The username/password your specify in the login-dialog is wrong. Try + the same as above and see if it works. +
    • +
    • + You have already setup a security mechanism for the + phpMyAdmin-directory, eg. a .htaccess file. This would interfere with + phpMyAdmin's authentification, so remove it. +
    • +
    + +

    + I would like to help out with the development of phpMyAdmin. How should + I proceed? +
    + The following method is preferred for new developers: +

    +
      +
    • + fetch the current CVS tree over anonymous CVS:
      + cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login
      + [Password: simply press the Enter key]
      + cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin
      +    or
      + cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin-devel
      + [This will create a new sub-directory named phpMyAdmin or phpMyAdmin-devel] +
    • +
    • + add your stuff +
    • +
    • + put the modified files (tar'ed and gzip'ed) inside the patch tracker of + the + phpMyAdmin SourceForge account. +
    • +
    +

    + Write access to the CVS tree is granted only to experienced developers who + have already contributed something useful to phpMyAdmin.
    + Also, have a look at the file DEVELOPERS.

    - IMPORTANT: - With 1.4.1, development has switched to CVS. - The following method is preferred for new developers: -

      -
    • fetch the current CVS tree over anonymous CVS:
      - cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login
      - [Password: simply press the Enter key]
      - cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin
      - or
      - cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin-devel
      - [This will create a new sub-directory named phpMyAdmin or phpMyAdmin-devel]
    • -
    • add your stuff
    • -
    • put the modified files (tar'ed and gzip'ed) inside the patch tracker of the phpMyAdmin SourceForge account - (http://sourceforge.net/projects/phpmyadmin/)
    • -
    + What's the preferred way of making phpMyAdmin secure against evil + access? +
    + This depends on your system.
    + If you're running a server which cannot be accessed by other people, it's + sufficient to use the directory protection bundled with your webserver + (with Apache you can use .htaccess files, for example).
    + If other people have telnet access to your server, it's not a good idea to + store the MySQL password in clear text in your config.inc.php3 file. + You should use phpMyAdmin's advanced authentification feature in this case.

    -

    - Write access to the CVS tree is granted only to developers who have already - contributed something useful to phpMyAdmin. If you're interested in that, - please contact us using the phpmyadmin-devel mailing list. + How can I insert a null value into my table? +
    + Enter "null", without the quotes, as the field's value. This is + especially useful for Timestamp ot AutoIncrement fields. +

    + +

    + I'm an ISP. Can I setup one central copy of phpMyAdmin or do I need to + install it for each customer? +
    + Since version 2.0.3, you can setup a central copy of phpMyAdmin for all + your users. The development of this feature was kindly sponsored by + NetCologne GmbH. +
    + This requires a properly setup MySQL user management and phpMyAdmin's + advanced authentication. phpMyAdmin performs these steps, when + authenticating a user: +

    +
      +
    1. + Select all entries from the mysql.user table where the + username/password matches the challenging user. If no rows are + returned, the authentication has failed. Otherwise, phpMyAdmin + continues with step 2. +
    2. +
    3. + If the user's global Select_Priv is "N" (ie the user is not + allowed to access all databases), phpMyAdmin searches the + mysql.db table for entries with Select_Priv = "Y" belonging + to the user. If no entries are found, the authentication has failed. + Otherwise, phpMyAdmin shows all databases the user is allowed to view. +
      + If the user's global Select_Priv is "Y", all databases in the + system are shown. +
    4. +
    +

    + This means that you need to add a user to the mysql database as + following:
    + INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, + Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, + File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('localhost', + 'foo', PASSWORD('bar'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', + 'N', 'N', 'N')
    + INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, + Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) + VALUES ('localhost', 'foo_db', 'foo', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', + '', '')
    + Then only the "foo_db" database will be displayed to user + "foo". +

    + +

    + How can I GZip a dump or a CSV export. It seem to not work? +
    + This feature is based on gzencode() to be more independent of the platform + (Unix/Windows, Safe Mode or not, and so on). + So, you must have PHP4 >= 4.0.4 and Zlib support (--with-zlib).

    + +
    +
    + + Top  -  + Introduction  -  + Installation  -  + Configuration  -  + FAQ  -  + Developpers  -  + Credits + +
    + +

    Developpers Information

    + +

    + phpMyAdmin is Open Source, so you're invited to contribute to it. Many + great features have been written by other people and you too can help to + make phpMyAdmin a useful tool. +

    + +

    + If you're planning to contribute source, please read the following + information: +

    +
      +
    • + All files include header.inc.php3 (layout), lib.inc.php3 + (common functions) and config.inc.php3. +
      + All configuration data belongs in config.inc.php3. Please keep + it free from other code. +
      + Commonly used functions should be added to lib.inc.php3. +
    • +
    • + Obviously, you're free to use whatever coding style you want. But + please try to keep your code as simple as possible: beginners are + using phpMyAdmin as an example application.
      + By the way, we're currently updating all the scripts so they will be + XHTML1.0 and CSS2 compliant on one hand, they will fit + PEAR coding standards + on the other hand. Please pay attention to this. +
    • +
    • + Please try to keep up the file-naming conventions. Table-related stuff + goes to tbl_*.php3, db-related code to db_*.php3 and so + on. +
    • +
    • + Please don't use verbose strings in your code, instead add the string + (at least) to english.inc.php3 and print() it out. +
    • +
    • + If you want to be really helpful, write an entry for the ChangeLog. +
    • +
    + +

    + IMPORTANT: With 1.4.1, development has switched to CVS. The following + method is preferred for new developers: +

    +
      +
    • + fetch the current CVS tree over anonymous CVS:
      + cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login
      + [Password: simply press the Enter key]
      + cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin
      +     or
      + cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin-devel
      + [This will create a new sub-directory named phpMyAdmin or phpMyAdmin-devel] +
    • +
    • + add your stuff +
    • +
    • + put the modified files (tar'ed and gzip'ed) inside the patch tracker + of the phpMyAdmin SourceForge account + (http://sourceforge.net/projects/phpmyadmin/) +
    • +
    +

    + Write access to the CVS tree is granted only to developers who have already + contributed something useful to phpMyAdmin. If you're interested in that, + please contact us using the phpmyadmin-devel mailing list. +

    -
    -
    -Top  -  -Introduction  -  -Installation  -  -Configuration  -  -FAQ  -  -Developpers  -  -Credits -
    + +
    +
    + + Top  -  + Introduction  -  + Installation  -  + Configuration  -  + FAQ  -  + Developpers  -  + Credits + +

    Credits

    @@ -462,36 +805,47 @@ So, you must have PHP4 >= 4.0.4 and Zlib support (--with-zlib). CREDITS, in chronological order ------------------------------- -[tr] - Tobias Ratschiller +[tr] - Tobias Ratschiller <tobias@phpwizard.net> * creator of the phpmyadmin project * maintainer from 1998 to summer 2000 -[md] - Marc Delisle +[md] - Marc Delisle <DelislMa@CollegeSherbrooke.qc.ca> * multi-language version * various fixes -[om] - Olivier Müller +[om] - Olivier Müller <om@omnis.ch> * started sourceforge phpMyAdmin project - * sync'ed different existing CVS trees with - new features and bugfixes + * sync'ed different existing CVS trees with new features and bugfixes * current project maintainer, with Marc and Loic -[lc] - Loïc Chapeaux +[lc] - Loïc Chapeaux <lolo@phpHeaven.net> + * rewrote and optimized javascript, DHTML and DOM stuff + * started to rewrite the scripts so they are XHTML1.0, CSS2 compliant + and fit the PEAR coding standards + * improved the language detection system + * bugfixes -[mg] - Mirko Giese +[mg] - Mirko Giese <mgiese@users.sourceforge.net> -[rj] - Robin Johnson +[rj] - Robin Johnson <robbat2@users.sourceforge.net> * Database maintence controls * Table type code -[af] - Armel Fauveau +[af] - Armel Fauveau <armel.fauveau@globalis-ms.com> * Bookmarks feature * Multiple dump feature - * Gzip dump feature + * Gzip dump feature -[kc] - Korakot Chaovavanich -[pk] - Pete Kelly +[kc] - Korakot Chaovavanich <korakot@iname.com> +[pk] - Pete Kelly <webmaster@trafficg.com> +The following people have contributed minor changes, enhancements, bugfixes or +or support for a new language since version 2.1.0: +Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Borges Botelho, +Olivier Bussier, Michal Cihar, Neil Darlow, Kristof Hamann, Thomas Kläger, +Martin Marconcini, David Nordenberg, Bernard M. Piller,Laurent Haas, +"Sakamoto", www.securereality.com.au, Michael Tacelosky, Daniel Villanueva, +Chee Wai, Thomas Michael Winningham. Original Credits of Version 2.1.0 @@ -500,34 +854,35 @@ Original Credits of Version 2.1.0 This work is based on Peter Kuppelwieser's MySQL-Webadmin. It was his idea to create a web-based interface to MySQL using PHP3. Although I have not used any of his source-code, there are some concepts I've borrowed from - him. phpMyAdmin was created because Peter told me he wasn't going to further - develop his (great) tool. + him. phpMyAdmin was created because Peter told me he wasn't going to + further develop his (great) tool. Thanks go to - - Amalesh Kempf who contributed the code for - the check when dropping a table or database. He also suggested that you - should be able to specify the primary key on tbl_create.php3. To version - 1.1.1 he contributed the ldi_*.php3-set (Import text-files) as well as - a bug-report. Plus many smaller improvements. - - Jan Legenhausen : He made many of the changes that were - introduced in 1.3.0 (including quite significant ones like the + - Amalesh Kempf <ak-lsml@living-source.com> who contributed the code + for the check when dropping a table or database. He also suggested that + you should be able to specify the primary key on tbl_create.php3. To + version 1.1.1 he contributed the ldi_*.php3-set (Import text-files) as + well as a bug-report. Plus many smaller improvements. + - Jan Legenhausen <jan@nrw.net>: He made many of the changes that + were introduced in 1.3.0 (including quite significant ones like the authentification). For 1.4.1 he enhanced the table-dump feature. Plus bug-fixes and help. - - Marc Delisle made phpMyAdmin language- - independent by outsourcing the strings to a separate file. He also - contributed the French translation. - - Alexandr Bravo who contributed tbl_select.php3, - a feature to display only some fields from a table. - - Chris Jackson added support for MySQL functions in - tbl_change.php3. He also added the "Query by Example" feature in 2.0. - - Dave Walton added support for multiple servers and - is a regular contributor for bug-fixes. - - Gabriel Ash contributed the random access features - for 2.0.6. + - Marc Delisle <DelislMa@CollegeSherbrooke.qc.ca> made phpMyAdmin + language-independent by outsourcing the strings to a separate file. He + also contributed the French translation. + - Alexandr Bravo <abravo@hq.admiral.ru> who contributed + tbl_select.php3, a feature to display only some fields from a table. + - Chris Jackson <chrisj@ctel.net> added support for MySQL functions + in tbl_change.php3. He also added the "Query by Example" feature in 2.0. + - Dave Walton <walton@nordicdms.com> added support for multiple + servers and is a regular contributor for bug-fixes. + - Gabriel Ash <ga244@is8.nyu.edu> contributed the random access + features for 2.0.6. The following people have contributed minor changes, enhancements, bugfixes or support for a new language: - Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, Alexander Leidinger, - Kiko Albiol, Daniel C. Chao, Pavel Piankov, Sascha Kettler, Joe Pruett, - Renato Lins, Mark Kronsbein, Jannis Hermanns, G. Wieggers. + Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, + Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov, + Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns, + G. Wieggers. And thanks to everyone else who sent me email with suggestions, bug-reports and or just some feedback. @@ -535,16 +890,26 @@ Original Credits of Version 2.1.0 -
    -
    -Top  -  -Introduction  -  -Installation  -  -Configuration  -  -FAQ  -  -Developpers  -  -Credits -
    +
    +
    + + Top  -  + Introduction  -  + Installation  -  + Configuration  -  + FAQ  -  + Developpers  -  + Credits + +
    + +

    + + Valid XHTML 1.0! +      + + Valid CSS! +