2 PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en-US" lang=
"en-US">
8 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1" />
9 <title>phpMyAdmin
2.2.1-dev - Documentation
</title>
10 <style type=
"text/css">
13 font-family: Verdana
, Arial
, Helvetica
, sans-serif
;
14 text-decoration: none
;
20 background-color: #99CCFF;
24 font-family: Verdana
, Arial
, Helvetica
, sans-serif
;
25 text-decoration: none
;
31 background-color: #99CCFF;
35 font-family: Verdana
, Arial
, Helvetica
, sans-serif
;
41 font-family: Arial
, Helvetica
, sans-serif
;
46 font-family: Arial
, Helvetica
, sans-serif
;
50 font-family: Arial
, Helvetica
, sans-serif
;
54 font-family: Arial
, Helvetica
, sans-serif
;
58 font-family: Arial
, Helvetica
, sans-serif
;
62 font-family: Arial
, Helvetica
, sans-serif
;
66 font-family: Verdana
, Arial
, Helvetica
, sans-serif
;
68 font-weight:bold
; color: #000066
74 <body bgcolor=
"#FFFFFF">
76 <h1>phpMyAdmin
2.2.1-rc1 Documentation
</h1>
81 <li><a class=
"navigation" href=
"http://www.phpwizard.net/projects/phpMyAdmin/">Official phpMyAdmin project homepage
[ http://www.phpwizard.net/projects/phpMyAdmin/ ]
</a></li>
82 <li><a class=
"navigation" href=
"http://phpmyadmin.sourceforge.net/">Sourceforge phpMyAdmin download page
[ http://phpmyadmin.sourceforge.net/ ]
</a></li>
85 <li>Version history:
<a class=
"navigation" href=
"ChangeLog">ChangeLog
</a></li>
86 <li>General notes:
<a class=
"navigation" href=
"README">README
</a></li>
87 <li>License:
<a class=
"navigation" href=
"LICENSE">LICENSE
</a></li>
90 <li>Documentation version:
<i>$Id$
</i></li>
95 <a name=
"require"></a><br />
96 <hr noshade=
"noshade" width=
"100%" />
98 <a class=
"navigation2" href=
"#top">Top
</a> -
99 <a class=
"navigation2" href=
"#require">Requirements
</a> -
100 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
101 <a class=
"navigation2" href=
"#setup">Installation
</a> -
102 <a class=
"navigation2" href=
"#config">Configuration
</a> -
103 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
104 <a class=
"navigation2" href=
"#developers">Developers
</a> -
105 <a class=
"navigation2" href=
"#credits">Credits
</a>
107 <hr noshade=
"noshade" width=
"100%" />
109 <h2>Requirements
</h2>
113 PHP3 or PHP4: phpMyAdmin widely uses the 'str_replace()' php function
114 that was added in PHP
3.0.6, but was buggy up until
116 Then
<font color=
"#bb0000">you should not run this script with
117 PHP3
< 3.0.8</font>.
<br />
118 PHP also needs to be
<font color=
"#bb0000">compiled with MySQL support
</font>;
121 MySQL (tested with
3.21.x,
3.22.x and
3.23.x);
124 a web-browser (doh!).
129 <!-- INTRODUCTION -->
130 <a name=
"intro"></a><br />
131 <hr noshade=
"noshade" width=
"100%" />
133 <a class=
"navigation2" href=
"#top">Top
</a> -
134 <a class=
"navigation2" href=
"#require">Requirements
</a> -
135 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
136 <a class=
"navigation2" href=
"#setup">Installation
</a> -
137 <a class=
"navigation2" href=
"#config">Configuration
</a> -
138 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
139 <a class=
"navigation2" href=
"#developers">Developers
</a> -
140 <a class=
"navigation2" href=
"#credits">Credits
</a>
142 <hr noshade=
"noshade" width=
"100%" />
144 <h2>Introduction
</h2>
147 phpMyAdmin can administer a whole MySQL-server (needs a super-user)
148 but also a single database. To accomplish the latter you'll need
149 a properly set up MySQL-user who can read/write only the desired
150 database. It's up to you to look up the appropiate part in the
151 MySQL manual. Currently phpMyAdmin can:
155 <li>create and drop databases
</li>
156 <li>create, copy, drop and alter tables
</li>
157 <li>delete, edit and add fields
</li>
158 <li>execute any SQL-statement, even batch-queries
</li>
159 <li>manage keys on fields
</li>
160 <li>load text files into tables
</li>
161 <li>create (*) and read dumps of tables
</li>
162 <li>export (*) and import data to CSV values
</li>
163 <li>administer multiple servers and single databases
</li>
164 <li>communicate in more than
20 different languages
</li>
167 <table border=
"0" cellspacing=
"0" cellpadding=
"0">
169 <td valign=
"top">(*)
</td>
171 phpMyAdmin can compress (Zip, GZip -RFC
1952- or Bzip2 formats) dumps
172 and CSV exports if you use PHP4
>=
4.0.4 with Zlib support
173 (
<tt>--with-zlib
</tt>) and/or Bzip2 support (
<tt>--with-bz2
</tt>).
179 <!-- INSTALLATION -->
180 <a name=
"setup"></a><br />
181 <hr noshade=
"noshade" width=
"100%" />
183 <a class=
"navigation2" href=
"#top">Top
</a> -
184 <a class=
"navigation2" href=
"#require">Requirements
</a> -
185 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
186 <a class=
"navigation2" href=
"#setup">Installation
</a> -
187 <a class=
"navigation2" href=
"#config">Configuration
</a> -
188 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
189 <a class=
"navigation2" href=
"#developers">Developers
</a> -
190 <a class=
"navigation2" href=
"#credits">Credits
</a>
192 <hr noshade=
"noshade" width=
"100%" />
194 <h2>Installation
</h2>
197 <font color=
"#bb0000">NOTE: phpMyAdmin does not apply any special security
198 methods to the MySQL database server. It is still the sysadmin's job to
199 grant permissions on the MySQL databases properly.
</font>
203 <font color=
"#bb0000">Warning for Mac users:
</font> php seems not to like
204 Mac end of lines character (
"<tt>\r
</tt>") and Stuffit unstuffs
205 with Mac formats, of course.
<br />
206 So you'll have to resave as in Bbedit to unix style ALL phpMyAdmin scripts
207 before uploading them to your server.
210 <p>Quick Install:
</p>
212 <li> Untar or unzip the distribution (be sure to unzip the subdirectories):
213 <tt>tar xzvf phpMyAdmin_x.x.x.tar.gz
</tt></li>
214 <li> Open the file config.inc.php3 in your favourite editor and change
215 the values for host, user and password to fit your environment.
217 <a class=
"navigation" href=
"#config">Configuration section
</a> for an
218 explanation of all values.
</li>
219 <li> It is recommended that you protect the directory in which
220 you installed phpMyAdmin (unless it's on a closed intranet, or you wish to use advanced authentication),
221 for example with HTTP-AUTH (in a
<i>.htaccess
</i> file). See the
222 <a class=
"navigation" href=
"#faq">FAQ section
</a> for additional
225 <i><www.your-host.com
>/
<your-install-dir
>/index.php3
</i>
226 in your browser. phpMyAdmin should now display a welcome screen
227 and your databases, or a login dialog if using advanced authentication.
</li>
230 <p>Upgrading from an older version:
</p>
232 <li> 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.
</li>
235 <p>Using Advanced Authentication:
</p>
238 phpMyAdmin needs a stduser that has
<b>only
</b> the
<tt>SELECT
</tt>
239 privilege on the
<i>mysql.db (Db,user,Select_priv)
</i> & <i>mysql.user (user,Select_priv)
</i> tables. You
240 must specify the details for the stduser in the
<i>config.inc.php3
</i> file
241 under the
<tt>$cfgServers[n]['stduser']
</tt> &
242 <tt>$cfgServers[n]['stdpass']
</tt> settings.
243 To create the control account:
<br />
244 <tt>GRANT USAGE ON mysql.* TO 'stduser'@localhost IDENTIFIED BY 'password';
</tt><br />
245 <tt>GRANT SELECT (user, Select_priv) ON mysql.user TO 'stduser'@localhost;
</tt><br />
246 <tt>GRANT SELECT (Db,user,Select_priv) ON mysql.db TO 'stduser'@localhost;
</tt>
249 Then each of the
<i>true
</i> users should be granted of a set of
250 privileges on a set of perticular databases but shouldn't have any global
251 privileges. For example, to grant the user
<i>real_user
</i> with all
252 privileges on the database
<i>user_base
</i>:
<br />
253 <tt>GRANT ALL PRIVILEGES ON user_base TO 'real_user'@localhost IDENTIFIED BY 'real_password';
</tt>
255 What the user may now do is controlled entirely by the MySQL user management
260 <!-- CONFIGURATION -->
261 <a name=
"config"></a><br />
262 <hr noshade=
"noshade" width=
"100%" />
264 <a class=
"navigation2" href=
"#top">Top
</a> -
265 <a class=
"navigation2" href=
"#require">Requirements
</a> -
266 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
267 <a class=
"navigation2" href=
"#setup">Installation
</a> -
268 <a class=
"navigation2" href=
"#config">Configuration
</a> -
269 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
270 <a class=
"navigation2" href=
"#developers">Developers
</a> -
271 <a class=
"navigation2" href=
"#credits">Credits
</a>
273 <hr noshade=
"noshade" width=
"100%" />
275 <h2>Configuration
</h2>
278 <font color=
"#bb0000">Warning for Mac users:
</font> php seems not to like
279 Mac end of lines character (
"<tt>\r
</tt>"). So ensure you choose
280 the option that allows to use the *nix end of line character
281 (
"<tt>\n
</tt>") in your text editor before registering a script
285 <p>All configurable data is placed in
<i>config.inc.php3
</i>.
</p>
287 <dt><b>$cfgPmaAbsoluteUri
</b> string
</dt>
289 Sets here the complete url (with full path) to your phpMyAdmin version.
290 E.g.
<tt>http://www.your_web.net/path_to_your_phpMyAdmin_directory/
</tt>.
292 Don't forget the slash at the end of your url.
296 <dt><b>$cfgServers
</b> array
</dt>
298 Since version
1.4.2, phpMyAdmin supports the administration of multiple
300 Therefore, a $cfgServers-array has been added which contains the login
301 information for the different servers.
<tt>$cfgServers[
1]['host']
</tt>
302 contains the hostname of the first server,
303 <tt>$cfgServers[
2]['host']
</tt> the hostname of the second server, etc.
304 If you have only one server to administer, simply leave free the
305 hostname of the other $cfgServer-entries.
309 <dt><b>$cfgServers[n]['host']
</b> string
</dt>
311 The hostname of your n-th MySQL-server. E.g. localhost.
315 <dt><b>$cfgServers[n]['port']
</b> string
</dt>
317 The port-number of your n-th MySQL-server. Default is
3306 (leave
322 <dt><b>$cfgServers[n]['socket']
</b> string
</dt>
324 The path to the socket to use. Leave blank for default.
<br />
325 To use the socket feature you must run php
3.0.10 or more.
329 <dt><b>$cfgServers[n]['connect_type']
</b> string
</dt>
331 What type connection to use with the MySQL server. Your options are
332 'socket'
& 'tcp'. It defaults to 'tcp' as that is nearly guarenteed
333 to be available on all MySQL servers, while sockets are not supported
339 <b>$cfgServers[n]['stduser']
</b> string
<br />
340 <b>$cfgServers[n]['stdpass']
</b> string
343 When using advanced authentication mode (or standard authentication
344 mode since phpMyAdmin
2.2.1-rc3), you need to supply the details
345 of a MySQL account that has
<tt>SELECT
</tt> access on the
346 <i>mysql.db (Db,user,Select_priv)
</i> & <i>mysql.user (user,Select_priv)
</i> tables.
<br />
347 This account is used to check what databases the user will see at login.
348 Please see the install section on
"Using advanced authentication
" for more information.
350 Please note that if you try login to phpMyAdmin with this stduser, you
351 could get some errors, depending the exact privileges you gave to
352 the stduser. phpMyAdmin does not support a direct login with the
357 <dt><b>$cfgServers[n]['adv_auth']
</b> boolean
</dt>
359 Whether basic or advanced authentication should be used for this
361 Basic authentication (
<tt>$adv_auth
=
FALSE
</tt>) is the
362 plain old way: username and password are stored in
363 <i>config.inc.php3
</i>.
364 Advanced authentication (
<tt>$adv_auth
=
TRUE
</tt>) as
365 introduced in
1.3.0 allows you to log in as any valid MySQL user via
367 Please note that this authentication mode is
368 <font color=
"#bb0000">only supported with PHP running as an Apache
369 module
</font>, and not with cgi.
<br /><br />
371 Using advanced authentication is recommended:
374 when phpMyAdmin is running in a multi-user environment where
375 people have shell-access that you don't want to know the
376 username/password for MySQL.
379 when you want to give users access to their own database and
380 don't want them to play around with others.
385 Advanced authentication is secure as the MySQL passwords does not need
386 to be set in the phpMyAdmin configuration file. (except for the standard
390 Please see the install section on
"Using advanced authentication
" for more information.
395 <b>$cfgServers[n]['user']
</b> string
<br />
396 <b>$cfgServers[n]['password']
</b> string
399 The user/password-pair which phpMyAdmin will use to connect to this
400 MySQL-server. The password is not needed when advanced authentication
401 is used, and should be empty.
<br /><br />
404 <dt><b>$cfgServers[n]['only_db']
</b> string or array
</dt>
406 If set to a(an array of) database name(s), only this(these) database(s)
407 will be shown to the user.
408 This setting is an efficient way to lower the server load since the
409 latter does not need a to send requests to MySQL to build the database
411 <font color=
"#bb0000">Warning:
</font> this setting does not replace the
412 privileges rules of the MySQL database server. If set, it just means
413 only these databases will be displayed but
<font color=
"#bb0000">not at
414 all other databases can't be used.
</font>
418 <dt><b>$cfgServers[n]['verbose']
</b> string
</dt>
420 Only useful when using phpMyAdmin with multiple server entries. If set,
421 this string will be displayed instead of the hostname in the pulldown
422 menu on the main page. This can be useful if you want to show only
423 certain databases on your system, for example.
428 <b>$cfgServers[n]['bookmarkdb']
</b> string
<br />
429 <b>$cfgServers[n]['bookmarktable']
</b> string
432 Since release
2.2.0 phpMyAdmin allows to bookmark queries. This can be
433 useful for queries you often run.
<br /><br />
435 To use this functionality you have to:
438 create a table following this scheme:
<br />
440 CREATE TABLE bookmark (
<br />
441 id int(
11) DEFAULT '
0' NOT NULL auto_increment,
<br />
442 dbase varchar(
255) NOT NULL,
<br />
443 user varchar(
255) NOT NULL,
<br />
444 label varchar(
255) NOT NULL,
<br />
445 query text NOT NULL,
<br />
446 PRIMARY KEY (id)
<br />
447 );
451 then complete the two variables
452 <tt>$cfgServers[n]['bookmarkdb']
</tt> and
453 <tt>$cfgServers[n]['bookmarktable']
</tt> so phpMyAdmin will be
454 able to find the bookmark table.
458 Note that
<tt>stduser
</tt> must have
<tt>SELECT
</tt>,
<tt>INSERT
</tt>
459 and
<tt>DELETE
</tt> privileges on the bookmark table.
460 Here is a query to set up those privileges:
<br />
461 <tt>GRANT SELECT,INSERT,DELETE ON
<bookmarkdb
>.
<bookmarktable
> to 'stduser'@localhost;
</tt>
465 <dt><b>$cfgServerDefault
</b> integer
</dt>
467 If you have more than one server configured, you can set
468 $cfgServerDefault to any one of them to autoconnect to that server when
469 phpMyAdmin is started, or set it to
0 to be given a list of servers
470 without logging in.
<br />
471 If you have only one server configured,
<tt>$cfgServerDefault
</tt> MUST
472 be set to that server.
477 <dt><b>$cfgOBGzip
</b>boolean
</dt>
479 Defines whether to use gzip output buffering for increased
480 speed in HTTP transfers.
484 <dt><b>$cfgPersistentConnections
</b>boolean
</dt>
486 Whether persistent connections should be used or not (mysql_connect or
491 <dt><b>$cfgSkipLockedTables
</b>boolean
</dt>
493 Mark used tables and make it possible to show databases with locked
494 tables (since
3.23.30).
498 <dt><b>$cfgShowSQL
</b>boolean
</dt>
500 Defines whether sql-queries generated by phpMyAdmin should be displayed
505 <dt><b>$cfgAllowUserDropDatabase
</b>boolean
</dt>
507 Defines whether standard users (non administrator) are allowed to
508 delete their own database or not. If set as FALSE, the link
"Drop
509 Database
" will not be shown, and even a
"DROP DATABASE
510 mydatabase
" will be rejected. Quite practical for ISP's with many
515 <dt><b>$cfgConfirm
</b>boolean
</dt>
517 Whether a warning (
"Are your really sure..
") should be
518 displayed when you're about to loose data.
522 <dt><b>$cfgShowTooltip
</b>boolean
</dt>
524 Defines whether to display table comment as tooltip in left frame or
529 <dt><b>$cfgShowStats
</b>boolean
</dt>
531 Defines whether to display space usage and statistics about databases
532 and tables or not.
<br />
533 Note that statistics requires at least MySQL
3.23.3 and that, at this
534 date, MySQL doesn't return such information for Berkeley DB tables.
538 <dt><b>$cfgShowBlob
</b>boolean
</dt>
540 Defines whether
<tt>BLOB
</tt> fields are shown when browsing a table's
545 <dt><b>$cfgShowAll
</b>boolean
</dt>
547 Defines whether an user should be displayed a
548 "show all (records)
" button in browse mode or not.
552 <dt><b>$cfgMaxRows
</b>integer
</dt>
554 Number of rows displayed when browsing a resultset. If the resultset
555 contains more rows, Previous/Next links will be shown.
559 <dt><b>$cfgOrder
</b>string [
<tt>DESC
</tt>|
<tt>ASC
</tt>|
<tt>SMART
</tt>]
</dt>
561 Defines whether fields are displayed in ascending (
<tt>ASC
</tt>) order,
562 in descending (
<tt>DESC
</tt>) order or in a
"smart
"
563 (
<tt>SMART
</tt>) order -ie descending order for fields of type TIME,
564 DATE, DATETIME
& TIMESTAMP, ascending order else- by default.
568 <dt><b>$cfgProtectBinary
</b>boolean
</dt>
570 Defines whether
<tt>BLOB
</tt> or
<tt>BINARY
</tt> fields are protected
571 from edition when browsing a table's content or not.
572 Valid values are:
<br />
573 -
<tt>FALSE
</tt> to allow edition of all fields;
<br />
574 -
<tt>blob
</tt> to allow edition of all fields except
<tt>BLOBS
</TT>;
<br />
575 -
<tt>all
</tt> to disallow edition of all
<tt>BINARY
</tt> or
<tt>BLOB
</tt> fields.
580 <b>$cfgZipDump
</b>boolean
<br />
581 <b>$cfgGZipDump
</b>boolean
<br />
582 <b>$cfgBZipDump
</b>boolean
585 Defines whether to allow the use of zip/gzip/bzip compression when
586 creating a dump file or not.
590 <dt><b>$cfgManualBase
</b> string
</dt>
592 If set to an URL which points to the MySQL documentation, appropriate
593 help links are generated.
597 <dt><b>$cfgDefaultLang
</b>string
</dt>
599 Defines the default language to use, if not browser-defined or
601 See the
<i>select_lang.inc.php3
</i> script to know the valid values for
606 <dt><b>$cfgLang
</b>string
</dt>
608 Force: always use this language (must be defined in the
609 <i>select_lang.inc.php3
</i> script).
614 <b>$cfgLeftBgColor
</b>string [HTML color]
615 <b>$cfgRightBgColor
</b>string [HTML color]
618 The background colors (HTML) used for both the frames.
622 <dt><b>$cfgBorder
</b>integer
</dt>
624 The size of a table's border.
628 <dt><b>$cfgThBgcolor
</b>string [HTML color]
</dt>
630 The color (HTML) used for table headers.
634 <dt><b>$cfgBgcolorOne
</b>string [HTML color]
</dt>
636 The color (HTML) #
1 for table rows.
640 <dt><b>$cfgBgcolorTwo
</b>string [HTML color]
</dt>
642 The color (HTML) #
2 for table rows.
647 <b>$cfgTextareaCols
</b>integer
<br />
648 <b>$cfgTextareaRows
</b>integer
651 Number of columns and rows for the textareas.
655 <dt><b>$cfgLimitChars
</b>integer
</dt>
657 Maximal number of Chars showed in a
<tt>TEXT
</tt> OR a
<tt>BLOB
</tt>
658 field on browse view. Can be turned off by a toggle button on the
664 <b>$cfgModifyDeleteAtLeft
</b>boolean
<br />
665 <b>$cfgModifyDeleteAtRight
</b>boolean
668 Defines the place where modify and delete links would be put when
669 tables contents are displayed (you may have them displayed both at the
670 left and at the right).
674 <dt><b>$cfgLeftWidth
</b>integer
</dt>
676 Left frame width in pixel.
680 <dt><b>$cfgColumnTypes
</b>array
</dt>
682 All possible types of a MySQL column. In most cases you don't need to
687 <dt><b>$cfgAttributeTypes
</b>array
</dt>
689 Possible attributes for fields. In most cases you don't need to edit
693 <dt><b>$cfgFunctions
</b>array
</dt>
695 A list of functions MySQL supports. In most cases you don't need to
703 <a name=
"faq"></a><br />
704 <hr noshade=
"noshade" width=
"100%" />
706 <a class=
"navigation2" href=
"#top">Top
</a> -
707 <a class=
"navigation2" href=
"#require">Requirements
</a> -
708 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
709 <a class=
"navigation2" href=
"#setup">Installation
</a> -
710 <a class=
"navigation2" href=
"#config">Configuration
</a> -
711 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
712 <a class=
"navigation2" href=
"#developers">Developers
</a> -
713 <a class=
"navigation2" href=
"#credits">Credits
</a>
715 <hr noshade=
"noshade" width=
"100%" />
717 <h2>FAQ - Frequently Asked Questions
</h2>
720 <b>I'm running php
4+ and my server is crashing each time a specific action
721 is required or phpMyAdmin send a blank page to my browser, what can I
724 There is some known php bugs with output buffering and compression.
<br />
725 Try to set the
<tt>$cfgOBGzip
</tt> directive to
<tt>FALSE
</tt> in your
726 <i>config.inc.php or .php3
</i> file and the
727 <tt>zlib.output_compression
</tt> directive to
<tt>Off
</tt> in your php
732 <b>The error message
"Warning: Cannot add header information - headers
733 already sent by ...
" is displayed, what's the problem?
</b>
735 Edit your
<i>config.inc.php or .php3
</i> file and ensure there is nothing
736 (ie no blank lines, no spaces, no characters...) neither before the
737 <tt><?php
</tt> tag at the beginning, neither after the
<tt>?
></tt>
742 <b>I can't insert new rows into a table - MySQL brings up a SQL-error.
</b>
744 Examine the SQL error with care. I've found that many programmers
745 specifying a wrong field-type.
<br />
746 Common errors include:
749 <li>Using
<tt>VARCHAR
</tt> without a size argument
</li>
750 <li>Using
<tt>TEXT or
</tt> BLOB with a size argument
</li>
753 Also, look at the syntax chapter in the MySQL manual to confirm that your
758 <b>phpMyAdmin can't connect to MySQL. What's wrong?
</b>
760 Either there is an error with your PHP setup or your username/password is
761 wrong. Try to make a small script which uses mysql_connect and see if it
762 works. If it doesn't, it may be you haven't even compiled MySQL support
767 <b>The error message
"Warning: MySQL Connection Failed: Can't connect
768 to local MySQL server through socket '/tmp/mysql.sock' (
111)...
") is
769 displayed. What can I do?
</b>
771 Here is a fix suggested by Brad Ummer in the
772 <a class=
"navigation" href=
"http://www.phpwizard.net/phorum/list.php?f=1" target=
"_blank">
777 First, you need to determine what socket is being used by MySQL.
779 To do this, telnet to your server and go to the MySQL bin directory. In
780 this directory there should be a file named
<i>mysqladmin
</i>. Type
781 <tt>./mysqladmin variables
</tt>, and this should give you a bunch of
782 info about your MySQL server, including the socket
783 (
<i>/tmp/mysql.sock
</i>, for example).
786 Then, you need to tell PHP to use this socket.
<br />Assuming you are
787 using PHP
3.0.10 or better, you can specify the socket to use when you
788 open the connection. To do this in phpMyAdmin, you need to complete the
789 socket information in the config.inc.php3.
<br />
791 <tt>$cfgServers[n]['socket']
=
'/tmp/mysql.sock';
</tt>
795 Have also a look at the
796 <a class=
"navigation" href=
"http://www.mysql.com/doc/C/a/Can_not_connect_to_server.html" target=
"_blank">
797 corresponding section of the MySQL documentation
</a>.
801 <b>phpMyAdmin always gives
"Access denied
" when using advanced
802 authentication.
</b><br />
803 This could happen for several reasons:
807 <tt>$cfgServers[n]['stduser']
</tt> and/or
808 <tt>$cfgServers[n]['stdpass']
</tt> are wrong.
811 The username/password you specify in the login-dialog are invalid.
814 You have already setup a security mechanism for the
815 phpMyAdmin-directory, eg. a .htaccess file. This would interfere with
816 phpMyAdmin's authentication, so remove it.
820 <a name=
"login_bug"></a>
822 <b>When using advanced authentication, an user who logged out can not
823 relogs in with the same nick.
</b>
825 This is related to the authentication mechanism (protocol) used by
826 phpMyAdmin. We plan to change it as soon as we may find enough free time
827 to do it, but you can bypass this problem: just close all the opened
828 browser windows and then go back to phpMyAdmin. You should be able to
833 <b>I would like to help out with the development of phpMyAdmin. How should
836 The following method is preferred for new developers:
840 fetch the current CVS tree over anonymous CVS:
<br />
841 <tt>cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login
</tt><br />
842 [Password: simply press the Enter key]
<br />
843 <tt>cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin
</tt><br />
844 [This will create a new sub-directory named phpMyAdmin]
850 put the modified files (tar'ed and gzip'ed) inside the patch tracker of
852 <a class=
"navigation" href=
"https://sourceforge.net/projects/phpmyadmin/" target=
"_blank">phpMyAdmin SourceForge account
</a>.
856 Write access to the CVS tree is granted only to experienced developers who
857 have already contributed something useful to phpMyAdmin.
<br />
858 Also, have a look at the
<a class=
"navigation" href=
"#developers">Developers section
</a>.
862 <b>What's the preferred way of making phpMyAdmin secure against evil
865 This depends on your system.
<br />
866 If you're running a server which cannot be accessed by other people, it's
867 sufficient to use the directory protection bundled with your webserver
868 (with Apache you can use
<i>.htaccess
</i> files, for example).
<br />
869 If other people have telnet access to your server, you should use
870 phpMyAdmin's advanced authentication feature.
876 Your
<i>config.inc.php3
</i> file should be
<tt>chmod
660</tt>.
879 All your phpMyAdmin files should be chown phpmy.apache, where phpmy
880 is a user whose password is only known to you, and apache is the
881 group under which Apache runs.
884 You should use PHP safe mode, to protect from other users that try
885 to include your
<i>config.inc.php3
</i> in their scripts.
890 <b>How can I insert a null value into my table?
</b>
892 Enter
"null
", without the quotes, as the field's value. This is
893 especially useful for
<tt>Timestamp
</tt> or
<tt>AutoIncrement
</tt> fields.
897 <b>I'm an ISP. Can I setup one central copy of phpMyAdmin or do I need to
898 install it for each customer?
</b>
900 Since version
2.0.3, you can setup a central copy of phpMyAdmin for all
901 your users. The development of this feature was kindly sponsored by
903 This requires a properly setup MySQL user management and phpMyAdmin
904 advanced authentication. See the install section on
"Using advanced authentication
"
908 <b>How can I GZip or Bzip a dump or a CSV export. It seem to not work?
</b>
910 These features are based on the
<tt>gzencode()
</tt> and
911 <tt>bzcompress()
</tt> php functions to be more independent of the platform
912 (Unix/Windows, Safe Mode or not, and so on).
913 So, you must have PHP4
>=
4.0.4 and Zlib/Bzip2 support
914 (
<tt>--with-zlib
</tt> and
<tt>--with-bz2
</tt>).
918 <b>I try to insert a text file in a table, and I get:
<br />
919 Error MySQL said: The file '/tmp/phpkvpp60' must be in the database
920 directory or be readable by all
</b>
922 Your uploaded file is saved by PHP in the
"upload dir
", as
923 defined in
<i>php.ini
</i> by the variable
<tt>upload_tmp_dir
</tt> (usually
924 the system default is
<i>/tmp
</i>).
925 If this directory is not readable by all, the MySQL server (which must be
926 running on the same machine) cannot open the file (except if running as
927 root, which is not recommended).
929 The system administrator can do a
"<tt>chmod
777 /tmp
</tt>": then
930 the MySQL server will accept to read it. Also, the user must have
931 <tt>File
</tt> privilege.
935 <b>I'm having troubles when uploading files. In general file uploads don't
936 work on my system and uploaded files have a
<tt>Content-Type:
</tt> header
937 in the first line.
</b>
940 It's not really phpMyAdmin related but RedHat
7.0. You have a RedHat
7.0
941 and you updated your php rpm to php-
4.0.4pl1-
3.i386.rpm, didn't you?
943 So the problem is that this package has a serious bug that was corrected
944 ages ago in php (
2001-
01-
28: see
945 <a href=
"http://www.php.net/bugs.php?id=8966">php's bug tracking system
</a>
946 for more details). The problem is that the bugged package is still
947 available though it was corrected (see
948 <a href=
"http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=24933">redhat's bugzilla
</a>
952 <a href=
"http://people.redhat.com/nalin/test/php-4.0.4pl1-7.i386.rpm">the fixed package
</a>
953 and the problem should go away.
955 And that fixes the \r\n problem with file uploads!
959 <b>When I create a table, I click the Index checkbox for
2 fields and
960 phpMyAdmin generates only one index with those
2 fields.
</b>
962 In phpMyAdmin
2.2.0, this is the way to create a multi-fields index. If you
963 want two indexes, create the first one when creating the table, save, then
964 display the table properties and click the Index link to create the other
969 <b>I get an out of memory error, and my controls are non-functional, when
970 trying to create a table with more than
14 fields.
</b>
972 We could reproduce this problem only under Win98/
98SE. Testing under
973 WinNT4 or Win2K, we could easily create more than
60 fields.
975 A workaround is to create a smaller number of fields, then come back to
976 your table properties and add the other fields.
980 <b>I get errors about not being able to include a file in
<i>/lang
</i></b>
982 Check
<i>php.ini
</i>, or ask your sysadmin to check it. The
983 <tt>include_path
</tt> must contain
".
" somewhere in it, and
984 <tt>open_basedir
</tt>, if used, must contain
".
" and
985 "./lang
" to allow normal operation of phpMyAdmin.
989 <b>I have found a bug. How do I inform developers?
</b>
991 Our Bug Tracker is located at
<a href=
"http://sourceforge.net/projects/phpmyadmin/">
992 http://sourceforge.net/projects/phpmyadmin/
</a> under the Bugs section.
994 But please first discuss your bug with other users:
996 <a href=
"http://sourceforge.net/projects/phpmyadmin/">
997 http://sourceforge.net/projects/phpmyadmin/
</a> (and choose Forums)
999 <a href=
"http://www.phpwizard.net/projects/phpMyAdmin/">
1000 http://www.phpwizard.net/projects/phpMyAdmin/
</a> (and choose Support
1006 <a name=
"developers"></a><br />
1007 <hr noshade=
"noshade" width=
"100%" />
1009 <a class=
"navigation2" href=
"#top">Top
</a> -
1010 <a class=
"navigation2" href=
"#require">Requirements
</a> -
1011 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
1012 <a class=
"navigation2" href=
"#setup">Installation
</a> -
1013 <a class=
"navigation2" href=
"#config">Configuration
</a> -
1014 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
1015 <a class=
"navigation2" href=
"#developers">Developers
</a> -
1016 <a class=
"navigation2" href=
"#credits">Credits
</a>
1018 <hr noshade=
"noshade" width=
"100%" />
1020 <h2>Developers Information
</h2>
1023 phpMyAdmin is Open Source, so you're invited to contribute to it. Many
1024 great features have been written by other people and you too can help to
1025 make phpMyAdmin a useful tool.
1029 If you're planning to contribute source, please read the following
1034 All files include
<i>header.inc.php3
</i> (layout),
1035 <i>libraries/common.lib.php3
</i> (common functions) and
1036 <i>config.inc.php3
</i>.
1038 All configuration data belongs in
<i>config.inc.php3
</i>. Please keep
1039 it free from other code.
1041 Commonly used functions should be added to
1042 <i>libraries/lib.inc.php3
</i> and more specific ones may be added
1043 within a library stored into the
<i>libraries
</i> sub-directory.
1046 Obviously, you're free to use whatever coding style you want. But
1047 please try to keep your code as simple as possible: beginners are
1048 using phpMyAdmin as an example application.
<br />
1049 By the way, we're currently updating all the scripts so they will be
1050 XHTML1.0 and CSS2 compliant on one hand, they will fit
1051 <a class=
"navigation" href=
"http://pear.php.net/" target=
"_blank">PEAR coding standards
</a>
1052 on the other hand. Please pay attention to this.
1055 Please try to keep up the file-naming conventions. Table-related stuff
1056 goes to
<i>tbl_*.php3
</i>, db-related code to
<i>db_*.php3
</i> and so
1060 Please don't use verbose strings in your code, instead add the string
1061 (at least) to
<i>english.inc.php3
</i> and print() it out.
1064 If you want to be really helpful, write an entry for the ChangeLog.
1069 IMPORTANT: With
1.4.1, development has switched to CVS. The following
1070 method is preferred for new developers:
1074 fetch the current CVS tree over anonymous CVS:
<br />
1075 <tt>cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login
</tt><br />
1076 [Password: simply press the Enter key]
<br />
1077 <tt>cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin
</tt><br />
1078 [This will create a new sub-directory named phpMyAdmin]
1084 put the modified files (tar'ed and gzip'ed) inside the patch tracker
1085 of the phpMyAdmin SourceForge account
1086 (
<a class=
"navigation" href=
"http://sourceforge.net/projects/phpmyadmin/" target=
"_blank">http://sourceforge.net/projects/phpmyadmin/
</a>)
1090 Write access to the CVS tree is granted only to developers who have already
1091 contributed something useful to phpMyAdmin. If you're interested in that,
1092 please contact us using the phpmyadmin-devel mailing list.
1097 <a name=
"credits"></a><br />
1098 <hr noshade=
"noshade" width=
"100%" />
1100 <a class=
"navigation2" href=
"#top">Top
</a> -
1101 <a class=
"navigation2" href=
"#require">Requirements
</a> -
1102 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
1103 <a class=
"navigation2" href=
"#setup">Installation
</a> -
1104 <a class=
"navigation2" href=
"#config">Configuration
</a> -
1105 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
1106 <a class=
"navigation2" href=
"#developers">Developers
</a> -
1107 <a class=
"navigation2" href=
"#credits">Credits
</a>
1109 <hr noshade=
"noshade" width=
"100%" />
1115 phpMyAdmin - Credits
1116 ====================
1118 CREDITS, in chronological order
1119 -------------------------------
1121 [tr] - Tobias Ratschiller
<tobias_at_phpwizard.net
>
1122 * creator of the phpmyadmin project
1123 * maintainer from
1998 to summer
2000
1125 [md] - Marc Delisle
<DelislMa_at_CollegeSherbrooke.qc.ca
>
1126 * multi-language version
1127 * various fixes and improvements
1129 [om] - Olivier Müller
<om_at_omnis.ch
>
1130 * started SourceForge phpMyAdmin project in March
2001
1131 * sync'ed different existing CVS trees with new features and bugfixes
1132 * multi-language improvements, dynamic language selection
1133 * current project maintainer, with Marc and Loic
1135 [lc] - Loïc Chapeaux
<lolo_at_phpheaven.net
>
1136 * rewrote and optimized javascript, DHTML and DOM stuff
1137 * started to rewrite the scripts so they fit the PEAR coding standards
1138 and generate XHTML1.0 and CSS2 compliant codes
1139 * improved the language detection system
1140 * many bugfixes and improvements
1142 [rj] - Robin Johnson
<robbat2_at_users.sourceforge.net
>
1143 * database maintence controls
1146 [af] - Armel Fauveau
<armel.fauveau_at_globalis-ms.com
>
1148 * multiple dump feature
1152 [gl] - Geert Lund
<glund_at_silversoft.dk
>
1154 * moderator of the phpMyAdmin users forum at phpwizard.net
1156 [kc] - Korakot Chaovavanich
<korakot_at_iname.com
>
1157 *
"insert as new row
" feature
1159 [pk] - Pete Kelly
<webmaster_at_trafficg.com
>
1160 * rewrote and fix dump code
1163 [sa] - Steve Alberty
<alberty_at_neptunlabs.de
>
1164 * rewrote dump code for PHP4
1165 * mySQL table statistics
1168 [bg] - Benjamin Gandon
<gandon_at_isia.cma.fr
>
1169 * main author of the version
2.1.0.1
1173 The following people have contributed minor changes, enhancements, bugfixes or
1174 or support for a new language since version
2.1.0:
1175 Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Borges Botelho,
1176 Olivier Bussier, Michal Cihar, Neil Darlow, Kristof Hamann, Thomas Kläger,
1177 Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg,
1178 Bernard M. Piller, Laurent Haas,
"Sakamoto
", www.securereality.com.au,
1179 Michael Tacelosky, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams,
1180 Chee Wai, Jakub Wilk, Thomas Michael Winningham.
1183 Original Credits of Version
2.1.0
1184 ---------------------------------
1186 This work is based on Peter Kuppelwieser's MySQL-Webadmin. It was his idea
1187 to create a web-based interface to MySQL using PHP3. Although I have not
1188 used any of his source-code, there are some concepts I've borrowed from
1189 him. phpMyAdmin was created because Peter told me he wasn't going to
1190 further develop his (great) tool.
1192 - Amalesh Kempf
<ak-lsml_at_living-source.com
> who contributed the
1193 code for the check when dropping a table or database. He also suggested
1194 that you should be able to specify the primary key on tbl_create.php3. To
1195 version
1.1.1 he contributed the ldi_*.php3-set (Import text-files) as
1196 well as a bug-report. Plus many smaller improvements.
1197 - Jan Legenhausen
<jan_at_nrw.net
>: He made many of the changes that
1198 were introduced in
1.3.0 (including quite significant ones like the
1199 authentication). For
1.4.1 he enhanced the table-dump feature. Plus
1201 - Marc Delisle
<DelislMa_at_CollegeSherbrooke.qc.ca
> made phpMyAdmin
1202 language-independent by outsourcing the strings to a separate file. He
1203 also contributed the French translation.
1204 - Alexandr Bravo
<abravo_at_hq.admiral.ru
> who contributed
1205 tbl_select.php3, a feature to display only some fields from a table.
1206 - Chris Jackson
<chrisj_at_ctel.net
> added support for MySQL
1207 functions in tbl_change.php3. He also added the
1208 "Query by Example
" feature in
2.0.
1209 - Dave Walton
<walton_at_nordicdms.com
> added support for multiple
1210 servers and is a regular contributor for bug-fixes.
1211 - Gabriel Ash
<ga244_at_is8.nyu.edu
> contributed the random access
1213 The following people have contributed minor changes, enhancements, bugfixes
1214 or support for a new language:
1215 Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann,
1216 Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov,
1217 Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns,
1220 And thanks to everyone else who sent me email with suggestions, bug-reports
1221 and or just some feedback.
1226 <a name=
"bottom"></a><br />
1227 <hr noshade=
"noshade" width=
"100%" />
1229 <a class=
"navigation2" href=
"#top">Top
</a> -
1230 <a class=
"navigation2" href=
"#require">Requirements
</a> -
1231 <a class=
"navigation2" href=
"#intro">Introduction
</a> -
1232 <a class=
"navigation2" href=
"#setup">Installation
</a> -
1233 <a class=
"navigation2" href=
"#config">Configuration
</a> -
1234 <a class=
"navigation2" href=
"#faq">FAQ
</a> -
1235 <a class=
"navigation2" href=
"#developers">Developers
</a> -
1236 <a class=
"navigation2" href=
"#credits">Credits
</a>
1238 <hr noshade=
"noshade" width=
"100%" />
1241 <a href=
"http://validator.w3.org/check/referer" target=
"w3c">
1242 <img src=
"http://www.w3.org/Icons/valid-xhtml10" alt=
"Valid XHTML 1.0!" border=
"0" height=
"31" width=
"88" /></a>
1243
1244 <a href=
"http://jigsaw.w3.org/css-validator/" target=
"w3c">
1245 <img src=
"http://www.w3.org/Icons/valid-css" alt=
"Valid CSS!" border=
"0" width=
"88" height=
"31" /></a>