1931 lines
87 KiB
Plaintext
1931 lines
87 KiB
Plaintext
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits - Translators
|
||
______________________________________________________________________
|
||
|
||
phpMyAdmin 2.4.0-rc2 Documentation
|
||
|
||
* Sourceforge phpMyAdmin project page [ http://www.phpmyadmin.net/
|
||
]
|
||
* Local documents:
|
||
+ Version history: ChangeLog
|
||
+ General notes: README
|
||
+ License: LICENSE
|
||
* Documentation version: $Id: Documentation.html,v 1.391 2003/02/04
|
||
11:01:24 lem9 Exp $
|
||
|
||
Requirements
|
||
|
||
* PHP3 or PHP4: phpMyAdmin widely uses the 'str_replace()' php
|
||
function that was added in PHP 3.0.6, but was buggy up until
|
||
PHP 3.0.8. Then you should not run this script with PHP3 < 3.0.8.
|
||
PHP also needs to be compiled with MySQL support;
|
||
* MySQL (tested with 3.21.x, 3.22.x, 3.23.x and 4.0.x);
|
||
Note: Because of a major change in the definition syntax of string
|
||
field types, this version of phpMyAdmin probably won't work
|
||
correctly with MySQL >= 4.1.0!
|
||
* a web-browser (doh!).
|
||
|
||
Introduction
|
||
|
||
phpMyAdmin can manage a whole MySQL-server (needs a super-user) but
|
||
also a single database. To accomplish the latter you'll need a
|
||
properly set up MySQL-user who can read/write only the desired
|
||
database. It's up to you to look up the appropriate part in the MySQL
|
||
manual. Currently phpMyAdmin can:
|
||
* create and drop databases
|
||
* create, copy, drop, rename and alter tables
|
||
* do table maintenance
|
||
* 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 (*) data to CSV, XML and Latex formats
|
||
* administer multiple servers
|
||
* check referential integrity
|
||
* using Query-by-example (QBE), create complex queries automatically
|
||
connecting required tables
|
||
* create PDF graphics of your Database layout
|
||
* search globally in a database or a subset of it
|
||
* communicate in 43 different languages
|
||
|
||
(*) phpMyAdmin can compress (Zip, GZip -RFC 1952- or Bzip2 formats)
|
||
dumps and CSV exports if you use PHP4 >= 4.0.4 with Zlib support
|
||
(--with-zlib) and/or Bzip2 support (--with-bz2).
|
||
|
||
Installation
|
||
|
||
NOTE: phpMyAdmin does not apply any special security methods to the
|
||
MySQL database server. It is still the sysadmin's job to grant
|
||
permissions on the MySQL databases properly. phpMyAdmin's "Users" page
|
||
can be used for this.
|
||
|
||
Warning for Mac users:if you are on a MacOS version before OS X,
|
||
Stuffit unstuffs with Mac formats.
|
||
So you'll have to resave as in Bbedit to unix style ALL phpMyAdmin
|
||
scripts before uploading them to your server, as PHP seems not to like
|
||
Mac-style end of lines character ("\r").
|
||
|
||
Documentation warning: when you see in this document a .php3 file
|
||
extension, please transpose to .php if you are using a kit with files
|
||
having this extension.
|
||
|
||
Quick Install:
|
||
1. Choose and download a distribution kit with the files having the
|
||
extension (.php3 or .php) depending on the way your web/PHP server
|
||
interprets those extensions.
|
||
2. Untar or unzip the distribution (be sure to unzip the
|
||
subdirectories): tar xzvf phpMyAdmin_x.x.x.tar.gz in your
|
||
webserver's document root. If you don't have direct access to your
|
||
document root, put the files in a directory on your local machine,
|
||
and, after step 3, transfer the directory on your web server
|
||
using, for example, ftp.
|
||
3. Open the file config.inc.php3 in your favourite editor and change
|
||
the values for host, user, password and authentication mode to fit
|
||
your environment. Also insert the correct value for
|
||
$cfg['PmaAbsoluteUri']. Have a look at Configuration section for
|
||
an explanation of all values.
|
||
4. It is recommended that you protect the directory in which you
|
||
installed phpMyAdmin (unless it's on a closed intranet, or you
|
||
wish to use http or cookie authentication), for example with
|
||
HTTP-AUTH (in a .htaccess file). See the FAQ section for
|
||
additional information.
|
||
5. 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 http or cookie
|
||
authentication mode.
|
||
|
||
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.
|
||
|
||
Using authentication modes:
|
||
* Http and cookie authentication modes are recommended in a
|
||
multi-user environment where you want to give users access to
|
||
their own database and don't want them to play around with others.
|
||
Nevertheless be aware that MS Internet Explorer seems to be really
|
||
buggy about cookies, at least till version 6. And php 4.1.1 is
|
||
also a bit buggy in this area!
|
||
Even in a single-user environment, you might prefer to use http or
|
||
cookie mode so that your user/password pair are not in clear in
|
||
the configuration file.
|
||
* Http and cookie authentication modes are more secure: the MySQL
|
||
password does not need to be set in the phpMyAdmin configuration
|
||
file (except for the "controluser" -see the Configuration
|
||
section).
|
||
However, keep in mind that the password travels in plain text,
|
||
unless you are using the https protocol.
|
||
In cookie mode, we send the password in a temporary cookie, so
|
||
most browsers should not store the password in their cookie file.
|
||
* For 'http' and 'cookie' modes, phpMyAdmin needs a controluser that
|
||
has only the SELECT privilege on the mysql.user (all columns
|
||
except "Password"), mysql.db (all columns) & mysql.tables_priv
|
||
(all columns except "Grantor" & "Timestamp") tables.
|
||
You must specify the details for the controluser in the
|
||
config.inc.php3 file under the $cfg['Servers'][$i]['controluser']&
|
||
$cfg['Servers'][$i]['controlpass'] settings.
|
||
This example assumes you want to use pma as the controluser and
|
||
pmapass as the controlpass, but this is only an example: use
|
||
something else in your file:
|
||
|
||
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
|
||
GRANT SELECT (Host, User, 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)
|
||
ON mysql.user TO 'pma'@'localhost';
|
||
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
|
||
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
|
||
ON mysql.tables_priv TO 'pma'@'localhost';
|
||
|
||
... and if you want to use the many new relation and bookmark
|
||
features:
|
||
|
||
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db> TO 'pma'@'localhost';
|
||
|
||
(this of course requires you to have a special DB for phpMyAdmin,
|
||
the contents will be explained later)
|
||
* Then each of the true users should be granted a set of privileges
|
||
on a set of particular databases. Normally you shouldn't give
|
||
global privileges to an ordinary user, unless you understand the
|
||
impact of those privileges (for example, you are creating a
|
||
superuser).
|
||
For example, to grant the user real_user with all privileges on
|
||
the database user_base:
|
||
GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost
|
||
IDENTIFIED BY 'real_password';
|
||
What the user may now do is controlled entirely by the MySQL user
|
||
management system.
|
||
With http or cookie auth mode, you don't need to fill the
|
||
user/password fields inside the $cfg['Servers'] array.
|
||
|
||
'http' authentication mode:
|
||
* Was called 'advanced' in versions before 2.2.3.
|
||
* Introduced in 1.3.0, it uses Basic HTTP authentication method and
|
||
allows you to login as any valid MySQL user.
|
||
* Is only supported with PHP running as an Apache module, not with
|
||
cgi.
|
||
|
||
'cookie' authentication mode:
|
||
* You can use this method as a replacement for the http
|
||
authentication (for example, if you're running IIS).
|
||
* Obviously, the user must enable cookies in the browser.
|
||
* With this mode, the use can truly logout of phpMyAdmin and login
|
||
back with the same username.
|
||
|
||
'config' authentication mode:
|
||
* This mode is the less secure one because it requires you to fill
|
||
the $cfg['Servers'][$i]['user'] and
|
||
$cfg['Servers'][$i]['password'] fields.
|
||
But you don't need to setup a "controluser" here: using the
|
||
$cfg['Servers'][$i]['only_db'] might be enough.
|
||
* In the ISP FAQ section, there is an entry explaining how to
|
||
protect your configuration file.
|
||
* For additional security in this mode, you may wish to consider the
|
||
Host authentication $cfg['Servers'][$i]['AllowDeny']['order'] and
|
||
$cfg['Servers'][$i]['AllowDeny']['rules'] configuration
|
||
directives.
|
||
|
||
Configuration
|
||
|
||
Warning for Mac users: php seems not to like Mac end of lines
|
||
character ("\r"). So ensure you choose the option that allows to use
|
||
the *nix end of line character ("\n") in your text editor before
|
||
registering a script you have modified.
|
||
|
||
All configurable data is placed in config.inc.php3.
|
||
|
||
$cfg['PmaAbsoluteUri'] string
|
||
Sets here the complete url (with full path) to your phpMyAdmin
|
||
version. E.g.
|
||
http://www.your_web.net/path_to_your_phpMyAdmin_directory/.
|
||
phpMyAdmin needs this setting, because of requirements of the
|
||
HTTP protocol, explained in RFC2616, section 14.30.
|
||
Don't forget the slash at the end of your url. The url must
|
||
contain characters that are valid for a url, and on some
|
||
servers, the path is case-sensitive.
|
||
Starting with version 2.3.0, you can try to leave this
|
||
parameter empty, because the program tries to auto-detect its
|
||
proper value. Additional details are in the configuration file.
|
||
Alternatively, this setting can be dynamically completed. For
|
||
example, you can try to use such a kind of code:
|
||
|
||
$cfg['PmaAbsoluteUri'] = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://'
|
||
. $_SERVER['HTTP_HOST']
|
||
. (!empty($_SERVER['SERVER_PORT']) ? ':' . $_SERVER['SERVER_PORT'] : '')
|
||
. substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')+1);
|
||
|
||
or
|
||
|
||
$cfg['PmaAbsoluteUri'] = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://'
|
||
. $_SERVER['SERVER_NAME']
|
||
. (!empty($_SERVER['SERVER_PORT']) ? ':' . $_SERVER['SERVER_PORT'] : '')
|
||
. substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/')+1);
|
||
|
||
|
||
Please note that the $_SERVER array doesn't exist in
|
||
PHP < 4.1.0. Try to replace $_SERVER by $HTTP_SERVER_VARS or
|
||
$GLOBALS in this case.
|
||
|
||
$cfg['PmaAbsoluteUri_DisableWarning'] boolean
|
||
By default, when you leave $cfg['PmaAbsoluteUri'] empty, and
|
||
the system detects your absolute URI automatically, we display
|
||
a warning to remind you. If you have tested the automatic
|
||
detection, and it works perfectly for your setup, then you can
|
||
set this variable to squelch the warning.
|
||
|
||
$cfg['PmaNoRelation_DisableWarning'] boolean
|
||
Starting with version 2.3.0 phpMyAdmin offers a lot of features
|
||
to work with master / foreign - tables (see
|
||
$cfg['Servers'][$i]['pmadb']).
|
||
If you tried to set this up and it does not work for you, have
|
||
a look on the "Structure" page of one database where you would
|
||
like to use it. You will find a link that will analyze why
|
||
those features have been disabled.
|
||
If you do not want to use those features set this variable to
|
||
TRUE to stop this message from appearing.
|
||
|
||
$cfg['Servers'] array
|
||
Since version 1.4.2, phpMyAdmin supports the administration of
|
||
multiple MySQL servers. Therefore, a $cfg['Servers']-array has
|
||
been added which contains the login information for the
|
||
different servers. The first $cfg['Servers'][$i]['host']
|
||
contains the hostname of the first server, the second
|
||
$cfg['Servers'][$i]['host'] the hostname of the second server,
|
||
etc. If you have only one server to administer, simply leave
|
||
free the hostname of the other $cfg['Server']-entries.
|
||
|
||
$cfg['Servers'][$i]['host'] string
|
||
The hostname of your $i-th MySQL-server. E.g. localhost.
|
||
|
||
$cfg['Servers'][$i]['port'] string
|
||
The port-number of your $i-th MySQL-server. Default is 3306
|
||
(leave blank).
|
||
|
||
$cfg['Servers'][$i]['socket'] string
|
||
The path to the socket to use. Leave blank for default.
|
||
To use the socket feature you must run php 3.0.10 or more.
|
||
|
||
$cfg['Servers'][$i]['connect_type'] string
|
||
What type connection to use with the MySQL server. Your options
|
||
are 'socket' & 'tcp'. It defaults to 'tcp' as that is nearly
|
||
guarenteed to be available on all MySQL servers, while sockets
|
||
are not supported on some platforms.
|
||
To use the socket mode, your MySQL server must be on the same
|
||
machine as the Web server.
|
||
|
||
$cfg['Servers'][$i]['compress'] boolean
|
||
Wheather to use a compressed protocol for the MySQL server
|
||
connection or not (experimental).
|
||
This feature requires PHP >= 4.3.0.
|
||
|
||
$cfg['Servers'][$i]['controluser'] string
|
||
$cfg['Servers'][$i]['controlpass'] string
|
||
When using http or cookie authentication modes (or 'config'
|
||
authentication mode since phpMyAdmin 2.2.1), you need to supply
|
||
the details of a MySQL account that has SELECT privilege on the
|
||
mysql.user (all columns except "Password"), mysql.db (all
|
||
columns) & mysql.tables_priv (all columns except "Grantor" &
|
||
"Timestamp") tables. This account is used to check what
|
||
databases the user will see at login.
|
||
Please see the install section on "Using http authentication"
|
||
for more information.
|
||
Note that if you try login to phpMyAdmin with this
|
||
"controluser", you could get some errors, depending the exact
|
||
privileges you gave to the "controluser". phpMyAdmin does not
|
||
support a direct login with the "controluser".
|
||
In versions before 2.2.5, those were called "stduser/stdpass".
|
||
|
||
$cfg['Servers'][$i]['auth_type'] string ['http'|'cookie'|'config']
|
||
Whether config or cookie or http authentication should be used
|
||
for this server.
|
||
|
||
+ 'config' authentication ($auth_type = 'config') is the plain
|
||
old way: username and password are stored in config.inc.php3.
|
||
+ 'cookie' authentication mode ($auth_type = 'cookie') as
|
||
introduced in 2.2.3 allows you to log in as any valid MySQL
|
||
user with the help of... cookies. Log name and password are
|
||
stored in cookies during the session and password is deleted
|
||
when it ends.
|
||
+ 'http' authentication (was called 'advanced' in older
|
||
versions) ($auth_type = 'http') as introduced in 1.3.0 allows
|
||
you to log in as any valid MySQL user via HTTP-Auth.
|
||
|
||
Please see the install section on "Using authentication modes"
|
||
for more information.
|
||
|
||
$cfg['Servers'][$i]['user'] string
|
||
$cfg['Servers'][$i]['password'] string
|
||
The user/password-pair which phpMyAdmin will use to connect to
|
||
this MySQL-server. This user/password pair is not needed when
|
||
http or cookie authentication is used, and should be empty.
|
||
|
||
$cfg['Servers'][$i]['only_db'] string or array
|
||
If set to a(an array of) database name(s), only this(these)
|
||
database(s) will be shown to the user. Since phpMyAdmin 2.2.1,
|
||
this/these database(s) name(s) may contain MySQL wilcards
|
||
characters ("_" and "%"): if you want to use literal instances
|
||
of these characters, escape them (ie use 'my\_db' and not
|
||
'my_db').
|
||
This setting is an efficient way to lower the server charge
|
||
since the latter does not need to send MySQL requests to build
|
||
the available database list. But it does not replace the
|
||
privileges rules of the MySQL database server. If set, it just
|
||
means only these databases will be displayed but not at all
|
||
other databases can't be used.
|
||
|
||
$cfg['Servers'][$i]['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.
|
||
|
||
$cfg['Servers'][$i]['pmadb'] string
|
||
Starting with version 2.3.0 phpMyAdmin offers a lot of features
|
||
to work with master / foreign - tables. To use those as well as
|
||
the bookmark feature you need special tables with a predefined
|
||
structure, which we explain below.
|
||
If you are the only user of this phpMyAdmin installation, you
|
||
can use your current database to store those special tables; in
|
||
this case, just put your current database name in
|
||
$cfg['Servers'][$i]['pmadb'].
|
||
If you are setting up a multi-user phpMyAdmin installation, you
|
||
will need to create a new db and setup special privileges, so,
|
||
as superuser:
|
||
|
||
+ create a new database for phpmyadmin:
|
||
CREATE DATABASE phpmyadmin;
|
||
Note that "controluser" must have SELECT, INSERT, UPDATE and
|
||
DELETE privileges on this database. Here is a query to set up
|
||
those privileges (using "phpmyadmin" as the database name,
|
||
and "pma" as the controluser):
|
||
GRANT SELECT,INSERT,UPDATE,DELETE ON phpmyadmin.* to
|
||
'pma'@'localhost';
|
||
do not give any other user rights on this database.
|
||
+ enter the databasename in $cfg['Servers'][$i]['pmadb']
|
||
|
||
$cfg['Servers'][$i]['bookmarktable'] string
|
||
Since release 2.2.0 phpMyAdmin allows to bookmark queries. This
|
||
can be useful for queries you often run.
|
||
To allow the usage of this functionality you have to:
|
||
|
||
+ set up "pmadb" as described above
|
||
+ within this database create a table following this scheme:
|
||
CREATE TABLE `PMA_bookmark` (
|
||
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
||
dbase varchar(255) NOT NULL,
|
||
user varchar(255) NOT NULL,
|
||
label varchar(255) NOT NULL,
|
||
query text NOT NULL,
|
||
PRIMARY KEY (id)
|
||
) TYPE=MyISAM COMMENT='Bookmarks';
|
||
+ enter the tablename in $cfg['Servers'][$i]['bookmarktable']
|
||
|
||
$cfg['Servers'][$i]['relation'] string
|
||
Since release 2.2.4 you can describe, in a special 'relation'
|
||
table, which field is a key in another table (a foreign key).
|
||
phpMyAdmin currently uses this to
|
||
|
||
+ make clickable, when you browse the master table, the data
|
||
values that point to the foreign table;
|
||
+ display in an optional tooltip the "display field" when
|
||
browsing the master table, if you move the mouse to a column
|
||
containing a foreign key (use also the 'table_info' table);
|
||
+ display links on the table properties page, to check
|
||
referential integrity (display missing foreign keys) for each
|
||
described key;
|
||
+ in query-by-example, create automatic joins (see an example
|
||
in the FAQ, section "Using phpMyAdmin");
|
||
+ enable you to get a PDF schema of your database (also uses
|
||
the table_coords table).
|
||
|
||
The keys can be numeric or character.
|
||
To allow the usage of this functionality the superuser has to:
|
||
|
||
+ set up "pmadb" as described above
|
||
+ within this database create a table following this scheme:
|
||
CREATE TABLE `PMA_relation` (
|
||
`master_db` varchar(64) NOT NULL default '',
|
||
`master_table` varchar(64) NOT NULL default '',
|
||
`master_field` varchar(64) NOT NULL default '',
|
||
`foreign_db` varchar(64) NOT NULL default '',
|
||
`foreign_table` varchar(64) NOT NULL default '',
|
||
`foreign_field` varchar(64) NOT NULL default '',
|
||
PRIMARY KEY (`master_db`, `master_table`,
|
||
`master_field`),
|
||
KEY foreign_field (foreign_db, foreign_table)
|
||
) TYPE=MyISAM COMMENT='Relation table';
|
||
+ put the relation table name in
|
||
$cfg['Servers'][$i]['relation']
|
||
+ now as normal user open phpMyAdmin and for each one of your
|
||
tables where you want to use this feature, click
|
||
"Structure/Relation view/" and choose foreign fields.
|
||
|
||
Please note that in the current (2.3.0) version, master_db must
|
||
be the same as foreign_db. Those fields have been put in future
|
||
development of the cross-db relations.
|
||
|
||
$cfg['Servers'][$i]['table_info'] string
|
||
Since release 2.3.0 you can describe, in a special 'table_info'
|
||
table, which field is to be displayed as a tooltip when moving
|
||
the cursor over the corresponding key.
|
||
This configuration variable will hold the name of this special
|
||
table. To allow the usage of this functionality the superuser
|
||
has to:
|
||
|
||
+ set up "pmadb" as described above
|
||
+ within this database create a table following this scheme:
|
||
CREATE TABLE `PMA_table_info` (
|
||
`db_name` varchar(64) NOT NULL default '',
|
||
`table_name` varchar(64) NOT NULL default '',
|
||
`display_field` varchar(64) NOT NULL default '',
|
||
PRIMARY KEY (`db_name`, `table_name`)
|
||
) TYPE=MyISAM COMMENT='Table information for
|
||
phpMyAdmin';
|
||
+ put the table name in $cfg['Servers'][$i]['table_info']
|
||
+ then for each table where you want to use this feature, click
|
||
"Structure/Relation view/Choose field to display" to choose
|
||
the field.
|
||
|
||
Usage tip: Display field.
|
||
|
||
$cfg['Servers'][$i]['table_coords'] string
|
||
$cfg['Servers'][$i]['pdf_pages'] string
|
||
Since release 2.3.0 you can have phpMyAdmin create PDF pages
|
||
showing the relations between your tables. To do this it needs
|
||
two tables "pdf_pages" (storing information about the available
|
||
pdf pages) and "table_coords" (storing coordinates where each
|
||
table will be placed on a PDF schema output).
|
||
You must be using the "relation" feature and have a table of
|
||
PDF pages (see $cfg['Servers'][$i]['pdf_pages']) to create PDF
|
||
output.
|
||
To allow the usage of this functionality the superuser has to:
|
||
|
||
+ set up "pmadb" as described above
|
||
+ within this database create a table following this scheme:
|
||
CREATE TABLE `PMA_table_coords` (
|
||
`db_name` varchar(64) NOT NULL default '',
|
||
`table_name` varchar(64) NOT NULL default '',
|
||
`pdf_page_number` int NOT NULL default '0',
|
||
`x` float unsigned NOT NULL default '0',
|
||
`y` float unsigned NOT NULL default '0',
|
||
PRIMARY KEY (`db_name`, `table_name`,
|
||
`pdf_page_number`)
|
||
) TYPE=MyISAM COMMENT='Table coordinates for phpMyAdmin
|
||
PDF output';
|
||
+ also within this database create:
|
||
CREATE TABLE `PMA_pdf_pages` (
|
||
`db_name` varchar(64) NOT NULL default '',
|
||
`page_nr` int(10) unsigned NOT NULL auto_increment,
|
||
`page_descr` varchar(50) NOT NULL default '',
|
||
PRIMARY KEY (page_nr),
|
||
KEY (db_name)
|
||
) TYPE=MyISAM COMMENT='PDF Relationpages for PMA';
|
||
+ put the first table name in
|
||
$cfg['Servers'][$i]['table_coords'] and the second table name
|
||
in $cfg['Servers'][$i]['pdf_pages']
|
||
|
||
Usage tips: PDF output.
|
||
|
||
$cfg['Servers'][$i]['column_comments'] string
|
||
Since release 2.3.0 you can store comments to describe each
|
||
column for each table. These will then be shown on the
|
||
"printview".
|
||
To allow the usage of this functionality the superuser has to:
|
||
|
||
+ set up "pmadb" as described above
|
||
+ within this database create a table following this scheme:
|
||
CREATE TABLE `PMA_column_comments` (
|
||
id int(5) unsigned NOT NULL auto_increment,
|
||
db_name varchar(64) NOT NULL default '',
|
||
table_name varchar(64) NOT NULL default '',
|
||
column_name varchar(64) NOT NULL default '',
|
||
comment varchar(255) NOT NULL default '',
|
||
PRIMARY KEY (id),
|
||
UNIQUE KEY db_name (db_name, table_name, column_name)
|
||
) TYPE=MyISAM COMMENT='Comments for Columns';
|
||
+ put the table name in $cfg['Servers'][$i]['column_comments']
|
||
|
||
$cfg['Servers'][$i]['AllowDeny']['order'] string
|
||
If your rule order is empty, then IP authentication is
|
||
disabled.
|
||
If your rule order is set to 'deny,allow' then the system
|
||
applies all deny rules followed by allow rules. Access is
|
||
allowed by default. Any client which does not match a Deny
|
||
command or does match an Allow command will be allowed access
|
||
to the server.
|
||
If your rule order is set to 'allow,deny' then the system
|
||
applies all allow rules followed by deny rules. Access is
|
||
denied by default. Any client which does not match an Allow
|
||
directive or does match a Deny directive will be denied access
|
||
to the server.
|
||
If your rule order is set to 'explicit', the authentication is
|
||
performed in a similar fashion to rule order 'deny,allow', with
|
||
the added restriction that your host/username combination must
|
||
be listed in the allow rules, and not listed in the deny rules.
|
||
This is the most secure means of using Allow/Deny rules, and
|
||
was available in Apache by specifying allow and deny rules
|
||
without setting any order.
|
||
|
||
$cfg['Servers'][$i]['AllowDeny']['rules'] array of strings
|
||
The general format for the rules is as such:
|
||
<'allow' | 'deny'> <username> [from] <ipmask>
|
||
If you wish to match all users, it is possible to use a '%' as
|
||
a wildcard in the username field.
|
||
There are a few shortcuts you can use in the ipmask field as
|
||
well:
|
||
'all' -> 0.0.0.0/0
|
||
'localhost' -> 127.0.0.1/8
|
||
Having an empty rule list is equivalent to either using 'allow
|
||
% from all' if your rule order is set to 'deny,allow' or 'deny
|
||
% from all' if your rule order is set to 'allow,deny' or
|
||
'explicit'.
|
||
For the IP matching system, the following work:
|
||
xxx.xxx.xxx.xxx (an exact IP address)
|
||
xxx.xxx.xxx.[yyy-zzz] (an IP address range)
|
||
xxx.xxx.xxx.xxx/nn (CIDR, Classless Inter-Domain Routing type
|
||
IP addresses)
|
||
But the following does not work:
|
||
xxx.xxx.xxx.xx[yyy-zzz] (partial IP address range)
|
||
|
||
$cfg['ServerDefault'] integer
|
||
If you have more than one server configured, you can set
|
||
$cfg['ServerDefault'] 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, $cfg['ServerDefault']
|
||
MUST be set to that server.
|
||
|
||
$cfg['OBGzip'] boolean
|
||
Defines whether to use gzip output buffering for increased
|
||
speed in HTTP transfers.
|
||
|
||
$cfg['PersistentConnections'] boolean
|
||
Whether persistent connections should be used or not
|
||
(mysql_connect or mysql_pconnect).
|
||
|
||
$cfg['ExecTimeLimit'] integer [number of seconds]
|
||
Set the number of seconds a script is allowed to run. If
|
||
seconds is set to zero, no time limit is imposed.
|
||
This setting is used while importing/exporting dump files but
|
||
has no effect when PHP is running in safe mode.
|
||
|
||
$cfg['SkipLockedTables'] boolean
|
||
Mark used tables and make it possible to show databases with
|
||
locked tables (since 3.23.30).
|
||
|
||
$cfg['ShowSQL'] boolean
|
||
Defines whether sql-queries generated by phpMyAdmin should be
|
||
displayed or not.
|
||
|
||
$cfg['AllowUserDropDatabase'] boolean
|
||
Defines whether normal users (non-administrator) are allowed to
|
||
delete their own database or not. If set as FALSE, the link
|
||
"Drop Database" will not be shown, and even a "DROP DATABASE
|
||
mydatabase" will be rejected. Quite practical for ISP's with
|
||
many customers.
|
||
|
||
$cfg['Confirm'] boolean
|
||
Whether a warning ("Are your really sure..") should be
|
||
displayed when you're about to loose data.
|
||
|
||
$cfg['LoginCookieRecall'] boolean
|
||
Define whether the previous login should be recalled or not in
|
||
cookie authentication mode.
|
||
|
||
$cfg['UseDbSearch'] boolean
|
||
Define whether the "search string inside database" is enabled
|
||
or not.
|
||
|
||
$cfg['LeftFrameLight'] boolean
|
||
Defines whether to use select-based menu and display only the
|
||
current tables in the left frame (smaller page).
|
||
|
||
$cfg['ShowTooltip'] boolean
|
||
Defines whether to display table comment as tooltip in left
|
||
frame or not.
|
||
|
||
$cfg['ShowStats'] boolean
|
||
Defines whether to display space usage and statistics about
|
||
databases and tables or not.
|
||
Note that statistics requires at least MySQL 3.23.3 and that,
|
||
at this date, MySQL doesn't return such information for
|
||
Berkeley DB tables.
|
||
|
||
$cfg['ShowMysqlInfo'] boolean
|
||
$cfg['ShowMysqlVars'] boolean
|
||
$cfg['ShowPhpInfo'] boolean
|
||
$cfg['ShowChgPassword'] boolean
|
||
Defines whether to display the "MySQL runtime information",
|
||
"MySQL system variables", "PHP information" and "Change
|
||
password " links or not for simple users at the starting main
|
||
(right) frame. This setting does not check MySQL commands
|
||
entered directly.
|
||
Please note that to block the usage of phpinfo() in scripts,
|
||
you have to put this in your php.ini:
|
||
disable_functions = phpinfo()
|
||
Also note that enabling the "Change password " link has no
|
||
effect with "config" authentication mode: because of the hard
|
||
coded password value in the configuration file, end users can't
|
||
be allowed to change their passwords.
|
||
|
||
$cfg['SuggestDBName'] boolean
|
||
Defines whether to suggest a database name on the "Create
|
||
Database" form or to keep the textfield empty.
|
||
|
||
$cfg['ShowBlob'] boolean
|
||
Defines whether BLOB fields are shown when browsing a table's
|
||
content or not.
|
||
|
||
$cfg['NavigationBarIconic'] boolean
|
||
Defines whether navigation bar buttons contain text or symbols
|
||
only.
|
||
|
||
$cfg['ShowAll'] boolean
|
||
Defines whether an user should be displayed a "show all
|
||
(records)" button in browse mode or not.
|
||
|
||
$cfg['MaxRows'] integer
|
||
Number of rows displayed when browsing a resultset. If the
|
||
resultset contains more rows, Previous/Next links will be
|
||
shown.
|
||
|
||
$cfg['Order'] string [DESC|ASC|SMART]
|
||
Defines whether fields are displayed in ascending (ASC) order,
|
||
in descending (DESC) order or in a "smart" (SMART) order -ie
|
||
descending order for fields of type TIME, DATE, DATETIME &
|
||
TIMESTAMP, ascending order else- by default.
|
||
|
||
$cfg['ProtectBinary'] boolean or string
|
||
Defines whether BLOB or BINARY fields are protected from
|
||
edition when browsing a table's content or not. Valid values
|
||
are:
|
||
- FALSE to allow edition of all fields;
|
||
- blob to allow edition of all fields except BLOBS;
|
||
- all to disallow edition of all BINARY or BLOB fields.
|
||
|
||
$cfg['ShowFunctionFields'] boolean
|
||
Defines whether MySQL functions fields should be displayed or
|
||
not in edit/insert mode.
|
||
|
||
$cfg['CharEditing'] string
|
||
Defines which type of editing controls should be used for CHAR
|
||
and VARCHAR fields. Possible values are:
|
||
|
||
+ input - this allows to limit size of text to size of field in
|
||
MySQL, but has problems with newlines in fields
|
||
+ textarea - no problems with newlines in fields, but also no
|
||
length limitations
|
||
|
||
Default is old behavior so input.
|
||
|
||
$cfg['ZipDump'] boolean
|
||
$cfg['GZipDump'] boolean
|
||
$cfg['BZipDump'] boolean
|
||
Defines whether to allow the use of zip/gzip/bzip compression
|
||
when creating a dump file or not.
|
||
|
||
$cfg['DefaultTabDatabase'] string
|
||
Defines the tab displayed by default on database view. Possible
|
||
values: "db_details_structure.php3", "db_details.php3" or
|
||
"db_search.php3".
|
||
|
||
$cfg['DefaultTabTable'] string
|
||
Defines the tab displayed by default on table view. Possible
|
||
values: "tbl_properties_structure.php3", "tbl_properties.php3",
|
||
"tbl_select.php3" or "tbl_change.php3".
|
||
|
||
$cfg['MySQLManualBase'] string
|
||
If set to an URL which points to the MySQL documentation (type
|
||
depends on $cfg['MySQLManualType']), appropriate help links are
|
||
generated.
|
||
See MySQL Documentation page for more information about MySQL
|
||
manuals and their types.
|
||
|
||
$cfg['MySQLManualType'] string
|
||
Type of MySQL documentation:
|
||
|
||
+ old - old style used in phpMyAdmin 2.3.0 and sooner
|
||
+ searchable - "Searchable, with user comments"
|
||
+ chapters - "HTML, one page per chapter"
|
||
+ big - "HTML, all on one page"
|
||
+ none - do not show documentation links
|
||
|
||
$cfg['DefaultLang'] 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.
|
||
|
||
$cfg['Lang'] string
|
||
Force: always use this language (must be defined in the
|
||
select_lang.inc.php3 script).
|
||
|
||
$cfg['DefaultCharset'] string
|
||
Default charset to use for recoding of MySQL queries. This must
|
||
be enabled and it's described by $cfg['AllowAnywhereRecoding']
|
||
option.
|
||
You can give here any charset which is in
|
||
$cfg['AvailableCharsets'] array and this is just default
|
||
choice, user can select any of them.
|
||
|
||
$cfg['AllowAnywhereRecoding'] boolean
|
||
Allow charset recoding of MySQL queries. You need recode or
|
||
iconv support (compiled in or module) in php to allow MySQL
|
||
queries recoding and used language file must have it enabled
|
||
(by default only these which are in unicode, just to avoid
|
||
losing some characters).
|
||
|
||
$cfg['RecodingEngine'] string
|
||
You can select here which functions will be used for charset
|
||
conversion. Possible values are:
|
||
|
||
+ auto - automatically use available one (first is tested
|
||
iconv, then recode)
|
||
+ iconv - use iconv or libiconv functions
|
||
+ recode - use recode_string function
|
||
|
||
Default is auto.
|
||
|
||
$cfg['AvailableCharsets'] array
|
||
Available charsets for MySQL conversion. You can add your own
|
||
(any of supported by recode/iconv) or remove these which you
|
||
don't use. Charsets will be shown in same order as here listed,
|
||
so if you frequently use some of these move them to the top.
|
||
|
||
$cfg['LeftWidth'] integer
|
||
Left frame width in pixel.
|
||
|
||
$cfg['LeftBgColor'] string [HTML color]
|
||
$cfg['RightBgColor'] string [HTML color]
|
||
The background colors (HTML) used for both the frames.
|
||
|
||
$cfg['RightBgImage'] string
|
||
The URI of the background image used for the right frame. It
|
||
can be absolute as well as relative from your phpMyAdmin
|
||
directory.
|
||
|
||
$cfg['LeftPointerColor'] string [HTML color]
|
||
The color (HTML) used for the pointer in the left frame (does
|
||
not work with NS4).
|
||
|
||
$cfg['Border'] integer
|
||
The size of a table's border.
|
||
|
||
$cfg['ThBgcolor'] string [HTML color]
|
||
The color (HTML) used for table headers.
|
||
|
||
$cfg['BgcolorOne'] string [HTML color]
|
||
The color (HTML) #1 for table rows.
|
||
|
||
$cfg['BgcolorTwo'] string [HTML color]
|
||
The color (HTML) #2 for table rows.
|
||
|
||
$cfg['BrowsePointerColor'] string [HTML color]
|
||
$cfg['BrowseMarkerColor'] string [HTML color]
|
||
The colors (HTML) uses for the pointer and the marker in browse
|
||
mode (does not work with NS4).
|
||
The former feature highlights the row over which your mouse is
|
||
passing and the latter lets you visually mark/unmark rows by
|
||
clicking on them.
|
||
You can disable both of these features by emptying the
|
||
respective directive.
|
||
|
||
$cfg['TextareaCols'] integer
|
||
$cfg['TextareaRows'] integer
|
||
$cfg['CharTextareaCols'] integer
|
||
$cfg['CharTextareaRows'] integer
|
||
Number of columns and rows for the textareas.
|
||
This value will be emphasized (*2) for sql query textareas.
|
||
The Char* values are used for CHAR and VARCHAR editing (if
|
||
configured via $cfg['CharEditing']).
|
||
|
||
$cfg['TextareaAutoSelect'] boolean
|
||
Defines if the whole textarea of the query box will be selected
|
||
on click.
|
||
|
||
$cfg['LimitChars'] integer
|
||
Maximal number of Chars showed in a TEXT OR a BLOB field on
|
||
browse view. Can be turned off by a toggle button on the browse
|
||
page.
|
||
|
||
$cfg['ModifyDeleteAtLeft'] boolean
|
||
$cfg['ModifyDeleteAtRight'] 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). "Left" and "right" are
|
||
parsed as "top" and "bottom" with vertical display mode.
|
||
|
||
$cfg['DefaultDisplay'] string
|
||
There are 2 display modes: horizontal and vertical. Define
|
||
which one is displayed by default.
|
||
|
||
$cfg['UploadDir'] string
|
||
The name of the directory, ending with a slash, where SQL files
|
||
have been uploaded by other means than phpMyAdmin (for example,
|
||
ftp). Those files are available under a drop-down box when you
|
||
click the database name, then the SQL tab.
|
||
Please note that the file names must have the suffix ".sql".
|
||
This feature is useful when your file is too big to be uploaded
|
||
via HTTP, or when file uploads are disabled in PHP.
|
||
Please note that if PHP is running in safe mode, this directory
|
||
must be owned by the same user as the owner of the phpMyAdmin
|
||
scripts.
|
||
|
||
$cfg['RepeatCells'] integer
|
||
Repeat the headers every X cells, or 0 to deactivate.
|
||
|
||
$cfg['SQP']['enable'] boolean
|
||
As of phpMyAdmin 2.3.0, we now have a fully functional SQL
|
||
Parser system. It is enabled by default, as it is used to
|
||
format the SQL queries.
|
||
As of 2.3.1, it will become an integral part of phpMyAdmin, as
|
||
it will analyze certain queries to improve the behavior of
|
||
phpMyAdmin. But as it is very new, and not yet heavily used, we
|
||
offer you an option to turn it off.
|
||
|
||
$cfg['SQP']['fmtType'] string [html|none]
|
||
The main use of the new SQL Parser is to pretty-print SQL
|
||
queries. By default we use HTML to format the query, but you
|
||
can disable this by setting this varible to 'none'
|
||
|
||
$cfg['SQP']['fmtInd'] float
|
||
$cfg['SQP']['fmtIndUnit'] string [em|px|pt|ex]
|
||
For the pretty-printing of SQL queries, under some cases the
|
||
part of a query inside a bracket is indented. By changing
|
||
$cfg['SQP']['fmtInd'] you can change the amount of this indent.
|
||
Related in purpose is $cfg['SQP']['fmtIndUnit'] which specifies
|
||
the units of the indent amount that you specified. This is used
|
||
via stylesheets.
|
||
|
||
$cfg['SQP']['fmtColor'] array of string tuples
|
||
This array is used to define the colours for each type of
|
||
element of the pretty-printed SQL queries. The tuple format is
|
||
class => [HTML colour code | empty string]
|
||
If you specify an empty string for the color of a class, it is
|
||
ignored in creating the stylesheet. You should not alter the
|
||
class names, only the colour strings.
|
||
Class name key:
|
||
|
||
+ comment Applies to all comment sub-classes
|
||
+ comment_mysql Comments as "#...\n"
|
||
+ comment_ansi Comments as "-- ...\n"
|
||
+ comment_c Comments as "/*...*/"
|
||
+ digit Applies to all digit sub-classes
|
||
+ digit_hex Hexadecimal numbers
|
||
+ digit_integer Integer numbers
|
||
+ digit_float Floating point numbers
|
||
+ punct Applies to all punctuation sub-classes
|
||
+ punct_bracket_open_round Opening brackets"("
|
||
+ punct_bracket_close_round Closing brackets ")"
|
||
+ punct_listsep List item seperator ","
|
||
+ punct_qualifier Table/Column Qualifer "."
|
||
+ punct_queryend End of query marker ";"
|
||
+ alpha Applies to all alphabetic classes
|
||
+ alpha_columnType Identifers matching a column type
|
||
+ alpha_columnAttrib Identifers matching a
|
||
database/table/column attribute
|
||
+ alpha_functionName Identifiers matching a MySQL function name
|
||
+ alpha_reservedWord Identifiers matching any other reserved
|
||
word
|
||
+ alpha_variable Identifers matching a SQL variable "@foo"
|
||
+ alpha_identifier All other identifiers
|
||
+ quote Applies to all quotation mark classes
|
||
+ quote_double Double quotes "
|
||
+ quote_single Single quotes '
|
||
+ quote_backtick Backtick quotes `
|
||
|
||
$cfg['SQLValidator']['use'] boolean
|
||
phpMyAdmin now supports use of the Mimer SQL Validator service,
|
||
as originally published on Slashdot.
|
||
For help in setting up your system to use the service, see the
|
||
FAQ #6.14.
|
||
|
||
$cfg['SQLValidator']['username'] string
|
||
$cfg['SQLValidator']['password'] string
|
||
The SOAP service allows you to login with anonymous and any
|
||
password, so we use those by default.. Instead, if you have an
|
||
account with them, you can put your login details here, and it
|
||
will be used in place of the anonymous login.
|
||
|
||
$cfg['DBG']['enable'] boolean
|
||
DEVELOPERS ONLY!
|
||
Enable the DBG extension for debugging phpMyAdmin. Required for
|
||
profiling the code.
|
||
For help in setting up your system to this, see the Developers
|
||
section.
|
||
|
||
$cfg['DBG']['profile']['enable'] boolean
|
||
DEVELOPERS ONLY!
|
||
Enable profiling support for phpMyAdmin. This will append a
|
||
chunk of data to the end of every page displayed in the main
|
||
window with profiling statistics for that page.
|
||
You may need need to increase the maximum execution time for
|
||
this to complete successfully.
|
||
|
||
$cfg['DBG']['profile']['threshold'] float (units in milliseconds)
|
||
DEVELOPERS ONLY!
|
||
When profiling data is displayed, this variable controls the
|
||
threshold of display for any profiling data, based on the
|
||
average time each time has taken. If it is over the threshold
|
||
it is displayed, otherwise it is not displayed. This takes a
|
||
value in milliseconds. In most cases you don't need to edit
|
||
this.
|
||
|
||
$cfg['ColumnTypes'] array
|
||
All possible types of a MySQL column. In most cases you don't
|
||
need to edit this.
|
||
|
||
$cfg['AttributeTypes'] array
|
||
Possible attributes for fields. In most cases you don't need to
|
||
edit this.
|
||
|
||
$cfg['Functions'] array
|
||
A list of functions MySQL supports. In most cases you don't
|
||
need to edit this.
|
||
|
||
FAQ - Frequently Asked Questions
|
||
|
||
Server - Configuration - Limitations - Multi-user - Browsers
|
||
- Usage tips - Project
|
||
|
||
[1. Server]
|
||
|
||
[1.1] I'm running php 4+ and 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
|
||
|
||
There are some known php bugs with output buffering and compression.
|
||
Try to set the $cfg['OBGzip'] directive to FALSE in your
|
||
config.inc.php or .php3 file and the zlib.output_compression directive
|
||
to Off in your php configuration file.
|
||
Furthermore, we know about such problems connected to the release
|
||
candidates of php 4.2.0 (tested with php 4.2.0 RC1 to RC4) together
|
||
with MS Internet Explorer. Please upgrade to the release version php
|
||
4.2.0.
|
||
|
||
[1.2] My Apache server crashes when using phpMyAdmin
|
||
|
||
You should first try the latest versions of Apache (and possibly
|
||
MySQL).
|
||
See also the other FAQ entry about php bugs with output buffering.
|
||
If your server keeps crashing, please ask for help in the various
|
||
Apache support groups.
|
||
|
||
[1.3] I'm running phpMyAdmin with "cookie" authentication mode under PHP
|
||
4.2.0 or 4.2.1 loaded as an Apache 2+ module but can't enter the script:
|
||
I'm always displayed the login screen
|
||
|
||
This is a known PHP bug (see this bug report) from the official php
|
||
bug database. It means there is and won't be any phpMyAdmin fix
|
||
against it because there is no way to code a fix.
|
||
|
||
[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 bug report from
|
||
the official php bug database.
|
||
|
||
[1.5] Using phpMyAdmin on IIS, I'm facing crashes and/or many error
|
||
messages with the http or advanced authentication mode
|
||
|
||
This is a known problem with the php ISAPI filter: it's not so stable.
|
||
For some more information and complete testings see the messages
|
||
posted by Andr<64> B. aka "djdeluxe76" in this thread from the phpWizard
|
||
forum.
|
||
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 workaroud (at
|
||
this time there is no better fix): remove or comment the DOCTYPE
|
||
declarations (2 lines) from the scripts header.inc.php3,
|
||
header_printview.inc.php3, index.php3, left.php3 and
|
||
libraries/common.lib.php3.
|
||
|
||
[1.7] How can I GZip or Bzip a dump or a CSV export. It seems to not work
|
||
|
||
These features are based on the gzencode() and bzcompress() php
|
||
functions 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/Bzip2 support (--with-zlib and --with-bz2).
|
||
We faced php crashes when trying to download a dump with MS Internet
|
||
Explorer when phpMyAdmin is run with a release candidate of php 4.2.0.
|
||
In this case you should switch to the release version of php 4.2.0.
|
||
|
||
[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] I'm having troubles when uploading files. In general file uploads
|
||
don't work on my system and uploaded files have a Content-Type: header in
|
||
the first line
|
||
|
||
It's not really phpMyAdmin related but RedHat 7.0. You have a RedHat
|
||
7.0 and you updated your php rpm to php-4.0.4pl1-3.i386.rpm, didn't
|
||
you?
|
||
So the problem is that this package has a serious bug that was
|
||
corrected ages ago in php (2001-01-28: see php's bug tracking system
|
||
for more details). The problem is that the bugged package is still
|
||
available though it was corrected (see redhat's bugzilla for more
|
||
details).
|
||
So please download the fixed package (4.0.4pl1-9) and the problem
|
||
should go away.
|
||
And that fixes the \r\n problem with file uploads!
|
||
|
||
[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 IE and SSL.
|
||
|
||
[1.11] I get an 'open_basedir restriction' while uploading a file from the
|
||
query box
|
||
|
||
Since version 2.2.4, phpMyAdmin supports servers with open_basedir
|
||
restrictions. Assuming that the restriction allows you to open files
|
||
in the current directory ('.'), all you have to do is create a 'tmp'
|
||
directory under the phpMyAdmin install directory, with permissions 777
|
||
and the same owner as the owner of your phpMyAdmin directory. 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
|
||
|
||
The MySql manual explains how to reset the permissions.
|
||
|
||
[1.13] I get an error 'No SQL query' when trying to execute a bookmark
|
||
|
||
If PHP does not have read/write access to its upload_tmp_dir, it
|
||
cannot access the uploaded query.
|
||
|
||
[1.14] I get an error 'No SQL query' when trying to submit a query from the
|
||
convenient text area
|
||
|
||
Check the post_max_size directive from your php configuration file and
|
||
try to increase it.
|
||
|
||
[1.15] I have problems with mysql.user field names
|
||
|
||
In older MySQL versions, the User and Password fields were named user
|
||
and password. Please modify your field names to align with current
|
||
standards.
|
||
|
||
[1.16] I cannot upload big dump files
|
||
|
||
The first things to check (or ask your host provider to check) are the
|
||
values of upload_max_filesize, memory_limit and post_max_size in the
|
||
php.ini configuration file.
|
||
All of these three settings limit the maximum size of data that can be
|
||
submitted and handled by php. One user also said that post_max_size
|
||
and memory_limit need to be larger than upload_max_filesize.
|
||
|
||
[1.17] Does phpMyAdmin support MySQL 4
|
||
|
||
MySQL 4 is not yet fully supported by phpMyAdmin.
|
||
Because of MySQL 4's backwards compatibility you can use phpMyAdmin
|
||
for administering MySQL 4 servers, but phpMyAdmin does not yet support
|
||
its new features. Please notice that in this case it is recommended to
|
||
use php >= 4.1 since older versions of php are not compatible to
|
||
MySQL 4.
|
||
Furthermore, several users reported problems with phpMyAdmin related
|
||
to bugs in MySQL 4. MySQL 4 is still a beta release and should be used
|
||
for test purposes only! Because of a major change in the definition
|
||
syntax of string field types, this version of phpMyAdmin probably
|
||
won't work correctly with MySQL >= 4.1.0! We will work on the support
|
||
as soon as MySQL 4.1.0 is released.
|
||
|
||
[1.18] I'm running MySQL <= 4.0.1 having lower_case_table_names set to 1.
|
||
If I create a new table with a capital letter in its name it is changed to
|
||
lowercase as it should. But if I try to DROP this table MySQL is unable to
|
||
find the corresponding file
|
||
|
||
This is a bug of MySQL <= 4.0.1. Please upgrade to at least
|
||
MySQL 4.0.2 or turn off your lower_case_table_names directive.
|
||
|
||
[1.19] I can't run the "display relations" feature because the script seems
|
||
not to know the font face I'm using!
|
||
|
||
The "FPDF" library we're using for this feature requires some special
|
||
files to use font faces.
|
||
Please refers to the FPDF manual to build these files.
|
||
|
||
[1.20] I receive the error "cannot load MySQL extension, please check PHP
|
||
Configuration"
|
||
|
||
To connect to a MySQL server, PHP needs a set of MySQL functions
|
||
called "MySQL extension". This extension may be part of the PHP server
|
||
(compiled-in), otherwise it needs to be loaded dynamically. Its name
|
||
is probably mysql.so or mysql.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.
|
||
|
||
[1.21] I am running the CGI version of PHP under Unix, and I cannot login
|
||
using cookie auth
|
||
|
||
In php.ini, set mysql.max_links higher than 1.
|
||
|
||
[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 field 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 you my.ini file that should be located in your Windows
|
||
directory and add the following line:
|
||
lower-case-table-names=0
|
||
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] Some characters are being truncated in my queries, or I get
|
||
characters randomly added. I am running PHP 4.2.3
|
||
|
||
This is a PHP 4.2.3 bug.
|
||
|
||
[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 "IUSER_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_details_structure.php3 with plenty of dabases)
|
||
|
||
This is a PHP bug that occur when GZIP output buffering enabled. If
|
||
you turn off it (by $cfg['OBGzip'] = FALSE in config.inc.php3), it
|
||
should work. This bug will be fixed in PHP 5.0.0.
|
||
|
||
[2. 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 or .php3 file and ensure there is nothing (ie
|
||
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
|
||
|
||
For RedHat users, Harald Legner suggests this on the mailing list:
|
||
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.
|
||
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 complete the socket information in the
|
||
config.inc.php3.
|
||
For example: $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';
|
||
|
||
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 "4.0b..."
|
||
it means you're running a beta version of PHP. That's not a so good
|
||
idea, please upgrade to a plain revision.
|
||
|
||
[2.5] Each time I want to insert or change a record or drop a database or a
|
||
table, an error 404 (page not found) is displayed or, with http or cookie
|
||
authentication, I'm asked to login again. What's wrong
|
||
|
||
Check the value you set for the $cfg['PmaAbsoluteUri'] directive in
|
||
the phpMyAdmin configuration file.
|
||
|
||
[3. Known limitations]
|
||
|
||
[3.1] When using http authentication, an user who logged out can not relog
|
||
in with the same nick
|
||
|
||
This is related to the authentication mechanism (protocol) used by
|
||
phpMyAdmin. We plan to change it as soon as we may find enough free
|
||
time to do it, but you can bypass this problem: just close all the
|
||
opened browser windows and then go back to phpMyAdmin. You should be
|
||
able to logs in again.
|
||
|
||
[3.2] When dumping a large table in compressed mode, I get a memory limit
|
||
error or a time limit error
|
||
|
||
As of version 2.2.4, we build the compressed dump in memory, so large
|
||
tables dumps may hang. The only alternative we can think about (using
|
||
system calls to mysqldump then gzip or bzip2) would not be applicable
|
||
in environments where PHP is in safe mode: access to system programs
|
||
is is limited by the system administrator, and time limit is enforced.
|
||
|
||
[3.3] With InnoDB tables, I lose foreign key relationships when I rename or
|
||
alter a table
|
||
|
||
This seems to be a InnoDB bug (fixed in MySQL 3.23.50?). However, keep
|
||
in mind that phpMyAdmin as of version 2.3.0 does not support InnoDB.
|
||
|
||
[3.4] I am unable to import dumps I created with the mysqldump tool bundled
|
||
with the MySQL server distribution
|
||
|
||
The problem is that mysqldump creates invalid comments like this:
|
||
-- MySQL dump 8.22
|
||
--
|
||
-- Host: localhost Database: database
|
||
---------------------------------------------------------
|
||
-- Server version 3.23.54
|
||
|
||
The invalid part of the code is the horizontal line made of dashes
|
||
that appears once in every dump created with mysqldump. If you want to
|
||
run your dump you have to turn it into valid MySQL. This means, you
|
||
have to add a whitespace after the first to dashes of the line or add
|
||
a # before it:
|
||
-- -------------------------------------------------------
|
||
or
|
||
#---------------------------------------------------------
|
||
|
||
[4. ISPs, multi-user installations ]
|
||
|
||
[4.1] 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 http or cookie authentication. See the
|
||
install section on "Using http authentication".
|
||
|
||
[4.2] 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, you should use
|
||
phpMyAdmin's http authentication feature.
|
||
Suggestions:
|
||
* Your config.inc.php3 file should be chmod 660.
|
||
* All your phpMyAdmin files should be chown phpmy.apache, where
|
||
phpmy is a user whose password is only known to you, and apache is
|
||
the group under which Apache runs.
|
||
* You should use PHP safe mode, to protect from other users that try
|
||
to include your config.inc.php3 in their scripts.
|
||
|
||
[4.3] I get errors about not being able to include a file in /lang or in
|
||
/libraries
|
||
|
||
Check php.ini, or ask your sysadmin to check it. The include_path must
|
||
contain "." somewhere in it, and open_basedir, if used, must contain
|
||
"." and "./lang" to allow normal operation of phpMyAdmin.
|
||
|
||
[4.4] phpMyAdmin always gives "Access denied" when using http
|
||
authentication
|
||
|
||
This could happen for several reasons:
|
||
* $cfg['Servers'][$i]['controluser'] and/or
|
||
$cfg['Servers'][$i]['controlpass'] are wrong.
|
||
* The username/password you specify in the login-dialog are invalid.
|
||
* You have already setup a security mechanism for the
|
||
phpMyAdmin-directory, eg. a .htaccess file. This would interfere
|
||
with phpMyAdmin's authentication, so remove it.
|
||
|
||
[4.5] Is it possible to let users create their own databases
|
||
|
||
Starting with 2.2.5, in the user management page, you can enter a
|
||
wildcard database name for a user, and put the privileges you want.
|
||
For example, adding SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
|
||
INDEX, ALTER would let a user create/manage his/her database(s).
|
||
|
||
[4.6] How can I use the Host-based authentication additions
|
||
|
||
If you have existing rules from an old .htaccess file, you can take
|
||
them and add a username between the 'deny'/'allow' and 'from' strings.
|
||
Using the username wildcard of '%' would be a major benefit here if
|
||
your installation is suited to using it. Then you can just add those
|
||
updated lines into the $cfg['Servers'][$i]['AllowDeny']['rules']
|
||
array.
|
||
If you want a pre-made sample, you can try this fragment. It stops the
|
||
'root' user from logging in from any networks other than the private
|
||
network IP blocks.
|
||
//block root from logging in except from the private networks
|
||
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
|
||
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
|
||
'deny root from all',
|
||
'allow root from localhost',
|
||
'allow root from 10.0.0.0/8',
|
||
'allow root from 192.168.0.0/16',
|
||
'allow root from 172.16.0.0/12',
|
||
);
|
||
|
||
[5. Browsers or client OS]
|
||
|
||
[5.1] I get an out of memory error, and my controls are non-functional,
|
||
when trying to create a table with more than 14 fields
|
||
|
||
We could reproduce this problem only under Win98/98SE. Testing under
|
||
WinNT4 or Win2K, we could easily create more than 60 fields.
|
||
A workaround is to create a smaller number of fields, then come back
|
||
to your table properties and add the other fields.
|
||
|
||
[5.2] With Xitami 2.5b4, phpMyAdmin won't process form fields
|
||
|
||
This is not a phpMyAdmin problem but a Xitami known bug: you'll face
|
||
it with each script/website that use forms.
|
||
Upgrade or downgrade your Xitami server.
|
||
|
||
[5.3] I have problems dumping tables with Konqueror (phpMyAdmin 2.2.2)
|
||
|
||
With Konqueror 2.1.1: plain dumps, zip and gzip dumps work ok, except
|
||
that the proposed file name for the dump is always 'tbl_dump.php'.
|
||
Bzip2 dumps don't seem to work.
|
||
With Konqueror 2.2.1: plain dumps work; zip dumps are placed into the
|
||
user's temporary directory, so they must be moved before closing
|
||
Konqueror, or else they disappear. Gzip dumps give an error message.
|
||
Testing needs to be done for Konqueror 2.2.2.
|
||
|
||
[5.4] I can't use the cookie authentication mode because Internet Explorer
|
||
never stores the cookies
|
||
|
||
MS Internet Explorer seems to be really buggy about cookies, at least
|
||
till version 6. And thanks to Andrew Zivolup we've traced also a php
|
||
4.1.1 bug in this area!
|
||
Then, if you're running php 4.1.1, try to upgrade or downgrade... it
|
||
may work!
|
||
|
||
[5.5] In Internet Explorer 5.0, I get Javascript errors when browsing my
|
||
rows
|
||
|
||
Upgrade to at least Internet Explorer 5.5SP2.
|
||
|
||
[5.6] In Internet Explorer 5.0, 5.5 or 6.0, I get an error when trying to
|
||
modify a row in a table with many fields, or with a text field
|
||
|
||
Your table neither have a primary key nor an unique one, so we must
|
||
use a long URL to identify this row. There is a limit on the lenght of
|
||
the URL in those browsers, and this not happen in Netscape, for
|
||
example. The workaround is to create a primary or unique key, or use
|
||
another browser.
|
||
|
||
[5.7] I refresh (reload) my browser, and come back to the welcome page
|
||
|
||
Some browsers support right-clicking into the frame you want to
|
||
refresh, just do this in the right frame.
|
||
|
||
[5.8] With Mozilla 0.9.7 I have problems sending a query modified in the
|
||
query box
|
||
|
||
Looks like a Mozilla bug: 0.9.6 was ok. We will keep an eye on future
|
||
Mozilla versions.
|
||
|
||
[5.9] With Mozilla 0.9.? to 1.0 and Netscape 7.0-PR1 I can't type a
|
||
whitespace in the SQL-Query edit area: the page scrolls down
|
||
|
||
This is a Mozilla bug (see bug #26882 at Bugzilla).
|
||
|
||
[5.10] With Netscape 4.75 I get empty rows between each row of data in a
|
||
CSV exported file
|
||
|
||
This is a known Netscape 4.75 bug: it adds some line feeds when
|
||
exporting data in octet-stream mode. Since we can't detect the
|
||
specific Netscape version, we cannot workaround this bug.
|
||
|
||
[5.11] Extended-ASCII characters like German umlauts are displayed wrong
|
||
|
||
Please ensure that you have set your browser's charset to the one of
|
||
the language file you have selected on phpMyAdmin's start page.
|
||
Alternatively, you can try the auto detection mode that is supported
|
||
by the recent versions of the most browsers.
|
||
|
||
[5.12] Apple OS X: Safari browser changes special characters to "?"
|
||
|
||
This issue has been reported by a OS X user, who adds that Chimera,
|
||
Netscape and Mozilla do not have this problem.
|
||
|
||
[5.13] With Internet Explorer 5.5 or 6, and http authentication type, I
|
||
cannot manage two servers: I login to the first one, then the other one,
|
||
but if I switch back to the first, I have to login on each operation.
|
||
|
||
This is a bug in Internet Explorer, other browsers do not behave this
|
||
way.
|
||
|
||
[6. Using phpMyAdmin]
|
||
|
||
[6.1] I can't insert new rows into a table / I can't create a table - MySQL
|
||
brings up a SQL-error
|
||
|
||
Examine the SQL error with care. Often the problem is caused by
|
||
specifying a wrong field-type.
|
||
Common errors include:
|
||
* 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.
|
||
|
||
[6.2] When I create a table, I click the Index checkbox for 2 fields and
|
||
phpMyAdmin generates only one index with those 2 fields
|
||
|
||
In phpMyAdmin 2.2.0 and 2.2.1, this is the way to create a
|
||
multi-fields index. If you want two indexes, create the first one when
|
||
creating the table, save, then display the table properties and click
|
||
the Index link to create the other index.
|
||
|
||
[6.3] How can I insert a null value into my table
|
||
|
||
Since version 2.2.3, you have a checkbox for each field that can be
|
||
null. Before 2.2.3, you had to enter "null", without the quotes, as
|
||
the field's value.
|
||
|
||
[6.4] How can I backup my database or table
|
||
|
||
Click on a database or table name in the left frame, the properties
|
||
will be displayed. Then on the menu, click "Export", you can dump the
|
||
structure, the data, or both. This will generate standard SQL
|
||
statements that can be used to recreate your database/table.
|
||
You will need to choose "Save as file", so that phpMyAdmin can
|
||
transmit the resulting dump to your station. Depending on your PHP
|
||
configuration, you will see options to compress the dump. See also the
|
||
$cfg['ExecTimeLimit'] configuration variable.
|
||
For additional help on this subject, look for the word "dump" in this
|
||
document.
|
||
|
||
[6.5] How can I restore (upload) my database or table using a dump? How can
|
||
I run a ".sql" file
|
||
|
||
Click on a database name in the left frame, the properties will be
|
||
local displayed. Then in the "Run SQL query" section, type in your
|
||
dump filename, or use the Browse button. Then click Go.
|
||
For additional help on this subject, look for the word "upload" in
|
||
this document.
|
||
|
||
[6.6] How can I use the relation table in Query-by-example
|
||
|
||
Here is an example with the tables persons, towns and countries, all
|
||
located in the database mydb. If you don't have a PMA_relation table,
|
||
create it as explained in the configuration section. Then create the
|
||
example tables:
|
||
CREATE TABLE REL_countries (
|
||
country_code char(1) NOT NULL default '',
|
||
description varchar(10) NOT NULL default '',
|
||
PRIMARY KEY (country_code)
|
||
) TYPE=MyISAM;
|
||
INSERT INTO REL_countries VALUES ('C', 'Canada');
|
||
CREATE TABLE REL_persons (
|
||
id tinyint(4) NOT NULL auto_increment,
|
||
person_name varchar(32) NOT NULL default '',
|
||
town_code varchar(5) default '0',
|
||
country_code char(1) NOT NULL default '',
|
||
PRIMARY KEY (id)
|
||
) TYPE=MyISAM;
|
||
INSERT INTO REL_persons VALUES (11, 'Marc', 'S', '');
|
||
INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');
|
||
CREATE TABLE REL_towns (
|
||
town_code varchar(5) NOT NULL default '0',
|
||
description varchar(30) NOT NULL default '',
|
||
PRIMARY KEY (town_code)
|
||
) TYPE=MyISAM;
|
||
INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');
|
||
INSERT INTO REL_towns VALUES ('M', 'Montr<74>al');
|
||
To setup appropriate links and display information:
|
||
* on table "REL_persons" click Structure, then Relation view
|
||
* in Links, for "town_code" choose "REL_towns->code"
|
||
* in Links, for "country_code" choose "REL_countries->country_code"
|
||
* on table "REL_towns" click Structure, then Relation view
|
||
* in "Choose field to display", choose "description"
|
||
* repeat the two previous steps for table "REL_countries"
|
||
|
||
Then test like this:
|
||
* Click on your db name in the left frame
|
||
* Choose "Query"
|
||
* Use tables: persons, towns, countries
|
||
* Click "Update query"
|
||
* In the fields row, choose persons.person_name and click the "Show"
|
||
tickbox
|
||
* Do the same for towns.description and countries.descriptions in
|
||
the other 2 columns
|
||
* Click "Update query" and you will see in the query box that the
|
||
correct joins have been generated
|
||
* Click "Submit query"
|
||
|
||
[6.7] How can I use the "display field" feature
|
||
|
||
Starting from the previous example, create the PMA_table_info as
|
||
explained in the configuration section, then browse your persons
|
||
table, and move the mouse over a town code or country code.
|
||
|
||
[6.8] How can I produce a PDF schema of my database
|
||
|
||
First you have to fill the "relation", "table_coords" and "pdf_pages"
|
||
configuration variables.
|
||
Then, think about your schema layout: which tables will go on which
|
||
pages.
|
||
* Click on your db name in the left frame
|
||
* Choose "Structure" in the navigation on top
|
||
* Choose "Edit PDF Pages" which should be somewhere at the bottom of
|
||
the page
|
||
* Enter the name for a first pdf page and submit
|
||
* Choose this page to edit
|
||
* Now add a table you want to show on this page and it's coordinates
|
||
and submit
|
||
First you will have to guess this coordinates of course, so just
|
||
expect to have an area of about 297 * 210 and put the tables
|
||
coordinates somewhere in there, you will be able to have a look at
|
||
what happened and change them later.
|
||
For example, x=100 and y=200 means that the table will be at 200
|
||
mm down and 100 mm right from the upper left corner.
|
||
Actually if you have a width of more than 300 or a height of more
|
||
than 200 than it will automatically be scaled but 300*100 is a
|
||
good start to have an idea of what coordinates to use.
|
||
* After every table you submitted you will have the possibility to
|
||
submit more tables
|
||
* When you have entered enough tables Click on your db name in the
|
||
left frame again
|
||
* Now, again at the bottom of the page you should be able to choose
|
||
"Display PDF schema"
|
||
For testing it might be useful to show the grid as well, so you
|
||
can see the coordinates used.
|
||
Maybe also choose color and submit.
|
||
* Save the file he will offer you to something like Schema.pdf
|
||
(Internet Explorer has some bug there which might make it offer it
|
||
without an extension. Under Windows it is important to have the
|
||
extension ".pdf", under other OSes you should be fine just saving
|
||
the file under the name it offers).
|
||
|
||
[6.9] phpMyAdmin is changing the type of one of my columns!
|
||
|
||
No, it's MySQL that is doing silent column type changing.
|
||
|
||
[6.10] My database has an underscore in it's name, and when I grant
|
||
privileges to a user for this database, a backslash is added before the
|
||
underscore
|
||
|
||
This is normal and means that the grant is done only for this
|
||
database. If there was no backslash, this would be a wildcard grant,
|
||
and the underscore would mean "any character". So, if the database
|
||
name is "john_db", the user would get rights to john1db, john2db...
|
||
instead of just john_db.
|
||
If you really want to grant using a wildcard, there is a dialog box "
|
||
Database (wildcards allowed)" for this.
|
||
|
||
[6.11] What is the curious symbol <20> in the table statistics
|
||
|
||
It means "average".
|
||
|
||
[6.12] I want to understand some Export options
|
||
|
||
"Complete inserts" adds the column names on every INSERT command, for
|
||
better documentation (but resulting file is bigger).
|
||
"Extended inserts" provides a shorter dump file by using only once the
|
||
INSERT verb and the table name.
|
||
"Enclose table and field names with backquotes" ensures that field and
|
||
table names formed with special characters are protected.
|
||
|
||
[6.13] I would like to create a database with a dot in its name
|
||
|
||
This is a bad idea, because in MySQL the syntax "database.table" is
|
||
the normal way to reference a database and table name. Worse, MySQL
|
||
will usually let you create a database with a dot, but then you cannot
|
||
work with it, nor delete it.
|
||
|
||
[6.14] How do I set up the SQL validator
|
||
|
||
To use it, you need a very recent version of PHP, 4.3.0 recommended,
|
||
with XML, PCRE and PEAR support. On your system command line, run
|
||
"pear install Net_Socket Net_URL HTTP_Request Mail_Mime Net_DIME SOAP"
|
||
to get the nessecary PEAR modules for usage.
|
||
If you use it, you should be aware that any SQL statement you submit
|
||
will be stored anonymously (database/table/column names, strings,
|
||
numbers replaced with generic values). The Mimer SQL Validator itself,
|
||
is <20> 2001 Upright Database Technology. We utilize it as free SOAP
|
||
service.
|
||
|
||
[6.15] I want to add a BLOB field and put an index on it, but MySQL says
|
||
"BLOB column '...' used in key specification without a key length"
|
||
|
||
The right way to do this, is to create the field without any indexes,
|
||
then display the table structure and use the "Create an index" dialog.
|
||
On this page, you will be able to choose your BLOB field, and set a
|
||
size to the index, which is the condition to create an index on a BLOB
|
||
field.
|
||
|
||
[6.16] How can I simply move in page with plenty editing fields
|
||
|
||
You can use Ctrl+arrows for moving on most pages with plenty editing
|
||
fields (table structure changes, row editing, etc.).
|
||
|
||
[6.17] Why is there checkbox called "Binary" when uplaoding file into
|
||
database?
|
||
|
||
It defines how data will be inserted into MySQL. When not checked, the
|
||
data from file will be treated as text, if charset conversion is
|
||
enabled (you are using utf-8 translation) charset of the text will be
|
||
converted according to it and could possibly be displayed as part of
|
||
update SQL after upload. When checked data will be inserted as
|
||
hexadecimal value and so will be in database exactly as in file. In
|
||
most cases you should keep it checked.
|
||
|
||
[7. phpMyAdmin project]
|
||
|
||
[7.1] I have found a bug. How do I inform developers
|
||
|
||
Our Bug Tracker is located at
|
||
http://sourceforge.net/projects/phpmyadmin/ under the Bugs section.
|
||
But please first discuss your bug with other users:
|
||
http://sourceforge.net/projects/phpmyadmin/ (and choose Forums)
|
||
|
||
[7.2] I want to translate the messages to a new language or upgrade an
|
||
existing language, where do I start
|
||
|
||
Always use the current cvs version of your language file. For a new
|
||
language, start from english-iso-8859-1.inc.php3. If you don't know
|
||
how to get the cvs version, please ask one of the developers.
|
||
Please note that we try not to use html entities like é in the
|
||
translations, since we define the right character set in the file.
|
||
With html entities, the text on buttons would not display correctly.
|
||
You can then put your translations, as a zip file to avoid losing
|
||
special characters, on the sourceforge.net translation tracker.
|
||
It would be a good idea to subscribe to the phpmyadmin-translators
|
||
mailing list, because this is where we ask for translations of new
|
||
messages.
|
||
|
||
[7.3] I would like to help out with the development of phpMyAdmin. How
|
||
should I proceed
|
||
|
||
The following method is preferred for new developers:
|
||
1. fetch the current CVS tree over anonymous CVS:
|
||
cvs
|
||
-d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmy
|
||
admin login
|
||
[Password: simply press the Enter key]
|
||
cvs -z3
|
||
-d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmy
|
||
admin checkout phpMyAdmin
|
||
[This will create a new sub-directory named phpMyAdmin]
|
||
2. add your stuff
|
||
3. 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 Developers section.
|
||
|
||
Developers 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),
|
||
libraries/common.lib.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
|
||
libraries/common.lib.php3 and more specific ones may be added
|
||
within a library stored into the libraries sub-directory.
|
||
* 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.
|
||
As far as possible, we want the scripts to be XHTML1.0 and CSS2
|
||
compliant on one hand, they fit the 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,
|
||
server-related tools to server_*.php3 and so on.
|
||
* Please don't use verbose strings in your code, instead add the
|
||
string (at least) to english-iso-8859-1.inc.php3 and print() it
|
||
out.
|
||
* If you want to be really helpful, write an entry for the
|
||
ChangeLog.
|
||
* The DBG extension (PHP Debugger DBG) is now supported by
|
||
phpMyAdmin for developers to better debug and profile their code.
|
||
Please see the $cfg['DBG']* configuration options for more
|
||
information.
|
||
This is in memorium of the Space Shuttle Columbia (STS-107) which
|
||
was lost during its re-entry into Earth's atmosphere and in memory
|
||
of the brave men and women who gave their lives for the people of
|
||
Earth.
|
||
|
||
Credits
|
||
|
||
|
||
phpMyAdmin - Credits
|
||
====================
|
||
|
||
CREDITS, in chronological order
|
||
-------------------------------
|
||
|
||
- Tobias Ratschiller <tobias.ratschiller_at_maguma.com>
|
||
* creator of the phpmyadmin project
|
||
* maintainer from 1998 to summer 2000
|
||
|
||
- Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca>
|
||
* multi-language version
|
||
* various fixes and improvements
|
||
* project co-administrator
|
||
|
||
- Olivier M<>ller <om_at_omnis.ch>
|
||
* started SourceForge phpMyAdmin project in March 2001
|
||
* sync'ed different existing CVS trees with new features and bugfixes
|
||
* multi-language improvements, dynamic language selection
|
||
* current project maintainer
|
||
* many bugfixes and improvements
|
||
|
||
- Lo<4C>c Chapeaux <lolo_at_phpheaven.net>
|
||
* rewrote and optimized javascript, DHTML and DOM stuff
|
||
* rewrote the scripts so they fit the PEAR coding standards and
|
||
generate XHTML1.0 and CSS2 compliant codes
|
||
* improved the language detection system
|
||
* many bugfixes and improvements
|
||
|
||
- Robin Johnson <robbat2_at_users.sourceforge.net>
|
||
* database maintence controls
|
||
* table type code
|
||
* Host authentication IP Allow/Deny
|
||
* DB-based configuration (Not completed)
|
||
* SQL parser
|
||
* SQL validator
|
||
* many bugfixes and improvements
|
||
|
||
- Armel Fauveau <armel.fauveau_at_globalis-ms.com>
|
||
* bookmarks feature
|
||
* multiple dump feature
|
||
* gzip dump feature
|
||
* zip dump feature
|
||
|
||
- Geert Lund <glund_at_silversoft.dk>
|
||
* various fixes
|
||
* moderator of the phpMyAdmin users forum at phpwizard.net
|
||
|
||
- Korakot Chaovavanich <korakot_at_iname.com>
|
||
* "insert as new row" feature
|
||
|
||
- Pete Kelly <webmaster_at_trafficg.com>
|
||
* rewrote and fix dump code
|
||
* bugfixes
|
||
|
||
- Steve Alberty <alberty_at_neptunlabs.de>
|
||
* rewrote dump code for PHP4
|
||
* mySQL table statistics
|
||
* bugfixes
|
||
|
||
- Benjamin Gandon <gandon_at_isia.cma.fr>
|
||
* main author of the version 2.1.0.1
|
||
* bugfixes
|
||
|
||
- Alexander M. Turek <rabus_at_bugfixes.info>
|
||
* XML exports
|
||
* MySQL 4 related features
|
||
* various small features and fixes
|
||
* German language file updates
|
||
|
||
- Mike Beck <mike.beck_at_ibmiller.de>
|
||
* automatic joins in QBE
|
||
* links column in printview
|
||
* Relation view
|
||
|
||
- Michal Cihar <nijel_at_users.sourceforge.net>
|
||
* enhanced index creation/display feature
|
||
* feature to use a different charset for HTML than for MySQL
|
||
* Czech language file updates
|
||
|
||
- Christophe Gesch<63> from the "MySQL Form Generator for PHPMyAdmin"
|
||
(http://sourceforge.net/projects/phpmysqlformgen/)
|
||
* suggested the patch for multiple table printviews
|
||
|
||
- Garvin Hicking <hicking_at_faktor-e.de>
|
||
* built the patch for vertical display of table rows
|
||
|
||
- Yukihiro Kawada <kawada_at_den.fujifilm.co.jp>
|
||
* japanese kanji encoding conversion feature
|
||
|
||
- Piotr Roszatycki <d3xter_at_users.sourceforge.net> and Dan Wilson
|
||
* the Cookie authentication mode
|
||
|
||
- Axel Sander <n8falke_at_users.sourceforge.net>
|
||
* table relation-links feature
|
||
|
||
- Maxime Delorme <delorme.maxime_at_free.fr>
|
||
* PDF schema output, thanks also to Olivier Plathey for the
|
||
"FPDF" library (see http://www.fpdf.org/).
|
||
|
||
- Olof Edlund <olof.edlund_at_upright.se>
|
||
* SQL validator server
|
||
|
||
- Ivan R. Lanin <ivanlanin_at_users.sourceforfe.net>
|
||
* phpMyAdmin logo
|
||
|
||
And also to the following people who have contributed minor changes,
|
||
enhancements, bugfixes or support for a new language since version 2.1.0:
|
||
|
||
Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita,
|
||
P<EFBFBD>ter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow,
|
||
Mats Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kl<4B>ger,
|
||
Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg, Andreas Pauley,
|
||
Bernard M. Piller, Laurent Haas, "Sakamoto", Yuval Sarna,
|
||
www.securereality.com.au, Alvar Soome, Siu Sun, Peter Svec, Michael Tacelosky,
|
||
Rachim Tamsjadi, Kositer Uros, Lu<4C>s V., Martijn W. van der Lee,
|
||
Algis Vainauskas, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams, Chee Wai,
|
||
Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas.
|
||
|
||
|
||
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.
|
||
Thanks go to
|
||
- Amalesh Kempf <ak-lsml_at_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_at_nrw.net>: He made many of the changes that
|
||
were introduced in 1.3.0 (including quite significant ones like the
|
||
authentication). For 1.4.1 he enhanced the table-dump feature. Plus
|
||
bug-fixes and help.
|
||
- Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca> made phpMyAdmin
|
||
language-independent by outsourcing the strings to a separate file. He
|
||
also contributed the French translation.
|
||
- Alexandr Bravo <abravo_at_hq.admiral.ru> who contributed
|
||
tbl_select.php3, a feature to display only some fields from a table.
|
||
- Chris Jackson <chrisj_at_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_at_nordicdms.com> added support for multiple
|
||
servers and is a regular contributor for bug-fixes.
|
||
- Gabriel Ash <ga244_at_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.
|
||
|
||
And thanks to everyone else who sent me email with suggestions, bug-reports
|
||
and or just some feedback.
|
||
|
||
Valid XHTML 1.0! Valid CSS!
|