27
+ You need PHP 5.2.0 or newer, with session support (see FAQ 1.31) and
28
the Standard PHP Library (SPL) extension.
26
+ You need PHP 5.2.0 or newer, with session support (see FAQ 1.31) , the
27
Standard PHP Library (SPL) extension and JSON support.
29
28
+ To support uploading of ZIP files, you need the PHP zip extension.
30
29
+ For proper support of multibyte strings (eg. UTF-8, which is currently
31
default), you should install mbstring and ctype extensions.
30
the default), you should install the mbstring and ctype extensions.
32
31
+ You need GD2 support in PHP to display inline thumbnails of JPEGs
33
32
("image/jpeg: inline") with their original aspect ratio
34
33
+ When using the "cookie" authentication method, the mcrypt extension is
49
49
Currently phpMyAdmin can:
51
* browse and drop databases, tables, views, fields and indexes
52
* create, copy, drop, rename and alter databases, tables, fields and indexes
51
* browse and drop databases, tables, views, columns and indexes
52
* create, copy, drop, rename and alter databases, tables, columns and indexes
53
53
* maintenance server, databases and tables, with proposals on server
55
55
* execute, edit and bookmark any SQL-statement, even batch-queries
214
214
server configuration. You can find example .htaccess file which can help
215
215
you achieve this in contrib directory in phpMyAdmin.
217
Linked-tables infrastructure
217
phpMyAdmin configuration storage
219
219
For a whole set of new features (bookmarks, comments, SQL-history, tracking
220
mechanism, PDF-generation, field contents transformation, etc.) you need to
220
mechanism, PDF-generation, column contents transformation, etc.) you need to
221
221
create a set of special tables. Those tables can be located in your own
222
222
database, or in a central database for a multi-user installation (this database
223
223
would then be accessed by the controluser, so no other user should have rights
535
539
+ 'signon' authentication mode ($auth_type = 'signon') as introduced in
536
540
2.10.0 allows you to log in from prepared PHP session data. This is
537
541
useful for implementing single signon from another application. Sample
538
way how to seed session is in signon example: scripts/signon.php. You
539
need to configure session name and signon URL to use this
540
authentication method.
542
way how to seed session is in signon example: scripts/signon.php. There
543
is also alternative example using OpenID - scripts/openid.php. You need
544
to configure session name and signon URL to use this authentication
541
546
Please see the install section on "Using authentication modes" for more
548
$cfg['Servers'][$i]['auth_http_realm'] string
549
When using auth_type = 'HTTP', this field allows to define a custom HTTP
550
Basic Auth Realm which will be displayed to the user. If not explicitly
551
specified in your configuration, a string combined of "phpMyAdmin " and
552
either $cfg['Servers'][$i]['verbose'] or $cfg['Servers'][$i]['host'] will
543
554
$cfg['Servers'][$i]['auth_swekey_config'] string
544
555
The name of the file containing Swekey ids and login names for hardware
545
556
authentication. Leave empty to deactivate this feature.
579
590
phpMyAdmin that it should display db3 and db4 on top, and the rest in
580
591
alphabetic order.
581
592
$cfg['Servers'][$i]['hide_db'] string
582
Regular expression for hiding some databases. This only hides them from
583
listing, but a user is still able to access them (using, for example, the
584
SQL query area). To limit access, use the MySQL privilege system.
593
Regular expression for hiding some databases from unprivileged users. This
594
only hides them from listing, but a user is still able to access them
595
(using, for example, the SQL query area). To limit access, use the MySQL
586
598
For example, to hide all databases starting with the letter "a", use
600
612
databases on your system, for example. For HTTP auth, all non-US-ASCII
601
613
characters will be stripped.
602
614
$cfg['Servers'][$i]['pmadb'] string
603
The name of the database containing the linked-tables infrastructure.
615
The name of the database containing the phpMyAdmin configuration storage.
605
See the Linked-tables infrastructure section in this document to see the
606
benefits of this infrastructure, and for a quick way of creating this
607
database and the needed tables.
617
See the phpMyAdmin configuration storage section in this document to see
618
the benefits of this feature, and for a quick way of creating this database
619
and the needed tables.
609
621
If you are the only user of this phpMyAdmin installation, you can use your
610
622
current database to store those special tables; in this case, just put your
611
623
current database name in $cfg['Servers'][$i]['pmadb']. For a multi-user
612
624
installation, set this parameter to the name of your central database
613
containing the linked-tables infrastructure.
625
containing the phpMyAdmin configuration storage.
614
626
$cfg['Servers'][$i]['bookmarktable'] string
615
627
Since release 2.2.0 phpMyAdmin allows users to bookmark queries. This can
616
628
be useful for queries you often run.
618
630
To allow the usage of this functionality:
619
+ set up pmadb and the linked-tables infrastructure
631
+ set up pmadb and the phpMyAdmin configuration storage
620
632
+ enter the table name in $cfg['Servers'][$i]['bookmarktable']
621
633
$cfg['Servers'][$i]['relation'] string
622
634
Since release 2.2.4 you can describe, in a special 'relation' table, which
623
field is a key in another table (a foreign key). phpMyAdmin currently uses
635
column is a key in another table (a foreign key). phpMyAdmin currently uses
625
637
+ make clickable, when you browse the master table, the data values that
626
638
point to the foreign table;
627
+ display in an optional tool-tip the "display field" when browsing the
639
+ display in an optional tool-tip the "display column" when browsing the
628
640
master table, if you move the mouse to a column containing a foreign
629
641
key (use also the 'table_info' table);
631
643
+ in edit/insert mode, display a drop-down list of possible foreign keys
632
(key value and "display field" are shown)
644
(key value and "display column" are shown)
634
646
+ display links on the table properties page, to check referential
635
647
integrity (display missing foreign keys) for each described key;
639
651
The keys can be numeric or character.
641
653
To allow the usage of this functionality:
642
+ set up pmadb and the linked-tables infrastructure
654
+ set up pmadb and the phpMyAdmin configuration storage
643
655
+ put the relation table name in $cfg['Servers'][$i]['relation']
644
656
+ now as normal user open phpMyAdmin and for each one of your tables
645
657
where you want to use this feature, click "Structure/Relation view/"
646
and choose foreign fields.
658
and choose foreign columns.
647
659
Please note that in the current version, master_db must be the same as
648
foreign_db. Those fields have been put in future development of the
660
foreign_db. Those columns have been put in future development of the
649
661
cross-db relations.
650
662
$cfg['Servers'][$i]['table_info'] string
651
663
Since release 2.3.0 you can describe, in a special 'table_info' table,
652
which field is to be displayed as a tool-tip when moving the cursor over
664
which column is to be displayed as a tool-tip when moving the cursor over
653
665
the corresponding key.
654
666
This configuration variable will hold the name of this special table. To
655
667
allow the usage of this functionality:
656
+ set up pmadb and the linked-tables infrastructure
668
+ set up pmadb and the phpMyAdmin configuration storage
657
669
+ put the table name in $cfg['Servers'][$i]['table_info'] (e.g.
658
670
'pma_table_info')
659
671
+ then for each table where you want to use this feature, click
660
"Structure/Relation view/Choose field to display" to choose the field.
661
Usage tip: Display field.
672
"Structure/Relation view/Choose column to display" to choose the
674
Usage tip: Display column.
662
675
$cfg['Servers'][$i]['table_coords'] string
663
676
$cfg['Servers'][$i]['pdf_pages'] string
664
677
Since release 2.3.0 you can have phpMyAdmin create PDF pages showing the
687
700
Also new in release 2.5.0 is a MIME-transformation system which is also
688
701
based on the following table structure. See Transformations for further
689
702
information. To use the MIME-transformation system, your column_info table
690
has to have the three new fields 'mimetype', 'transformation',
703
has to have the three new columns 'mimetype', 'transformation',
691
704
'transformation_options'.
693
706
To allow the usage of this functionality:
694
+ set up pmadb and the linked-tables infrastructure
707
+ set up pmadb and the phpMyAdmin configuration storage
695
708
+ put the table name in $cfg['Servers'][$i]['column_info'] (e.g.
696
709
'pma_column_info')
697
710
+ to update your PRE-2.5.0 Column_comments Table use this:
762
775
CREATE VIEW,ALTER VIEW,DROP VIEW,
763
776
CREATE DATABASE,ALTER DATABASE,DROP DATABASE
765
$cfg['Servers'][$i]['tracking_version_drop_view'] boolean
778
$cfg['Servers'][$i]['tracking_add_drop_view'] boolean
766
779
Whether a DROP VIEW IF EXISTS statement will be added as first line to the
767
780
log when creating a view. Default value is true.
769
$cfg['Servers'][$i]['tracking_version_drop_table'] boolean
782
$cfg['Servers'][$i]['tracking_add_drop_table'] boolean
770
783
Whether a DROP TABLE IF EXISTS statement will be added as first line to the
771
784
log when creating a table. Default value is true.
773
$cfg['Servers'][$i]['tracking_version_drop_database'] boolean
786
$cfg['Servers'][$i]['tracking_add_drop_database'] boolean
774
787
Whether a DROP DATABASE IF EXISTS statement will be added as first line to
775
788
the log when creating a database. Default value is true.
790
$cfg['Servers'][$i]['userconfig'] string
791
Since release 3.4.x phpMyAdmin allows users to set most preferences by
792
themselves and store them in the database.
794
If you don't allow for storing preferences in pmadb, users can still
795
personalize phpMyAdmin, but settings will be saved in browser's local
796
storage, or, it is is unavailable, until the end of session.
798
To allow the usage of this functionality:
799
+ set up pmadb and the phpMyAdmin configuration storage
800
+ put the table name in $cfg['Servers'][$i]['userconfig']
777
801
$cfg['Servers'][$i]['designer_coords'] string
778
802
Since release 2.10.0 a Designer interface is available; it permits to
779
803
visually manage the relations.
781
805
To allow the usage of this functionality:
782
+ set up pmadb and the linked-tables infrastructure
806
+ set up pmadb and the phpMyAdmin configuration storage
783
807
+ put the table name in $cfg['Servers'][$i]['designer_coords'] (e.g.
784
808
'pma_designer_coords')
785
809
$cfg['Servers'][$i]['verbose_check'] boolean
786
810
Because release 2.5.0 introduced the new MIME-transformation support, the
787
column_info table got enhanced with three new fields. If the above variable
788
is set to TRUE (default) phpMyAdmin will check if you have the latest table
789
structure available. If not, it will emit a warning to the superuser.
811
column_info table got enhanced with three new columns. If the above
812
variable is set to TRUE (default) phpMyAdmin will check if you have the
813
latest table structure available. If not, it will emit a warning to the
791
816
You can disable this checking behavior by setting the variable to false,
792
817
which should offer a performance increase.
814
839
does not match an Allow directive or does match a Deny directive will be
815
840
denied access to the server.
817
If your rule order is set to 'explicit', the authentication is performed in
818
a similar fashion to rule order 'deny,allow', with the added restriction
819
that your host/username combination must be listed in the allow rules, and
820
not listed in the deny rules. This is the most secure means of using Allow/
821
Deny rules, and was available in Apache by specifying allow and deny rules
842
If your rule order is set to 'explicit', authorization is performed in a
843
similar fashion to rule order 'deny,allow', with the added restriction that
844
your host/username combination must be listed in the allow rules, and not
845
listed in the deny rules. This is the most secure means of using Allow/Deny
846
rules, and was available in Apache by specifying allow and deny rules
822
847
without setting any order.
824
849
Please also see $cfg['TrustedProxies'] for detecting IP address behind
879
904
If you have only one server configured, $cfg['ServerDefault'] MUST be set
906
$cfg['AjaxEnable'] boolean
907
Defines whether to refresh only parts of certain pages using Ajax
908
techniques. Applies only where a non-Ajax behavior is possible; for
909
example, the Designer feature is Ajax-only so this directive does not apply
911
$cfg['VersionCheck'] boolean
912
Enables check for latest versions using javascript on main phpMyAdmin page.
881
913
$cfg['MaxDbList'] integer
882
914
The maximum number of database names to be displayed in the navigation
883
915
frame and the database list.
947
981
session.gc_maxlifetime not lower than the value of $cfg
948
982
['LoginCookieValidity'].
949
983
$cfg['LoginCookieStore'] integer [number of seconds]
950
Define how long is login cookie should be stored in browser. Default 0
951
means that it will be kept for existing session. This is recommended for
952
not trusted environments.
984
Define how long login cookie should be stored in browser. Default 0 means
985
that it will be kept for existing session. This is recommended for not
986
trusted environments.
953
987
$cfg['LoginCookieDeleteAll'] boolean
954
988
If enabled (default), logout deletes cookies for all servers, otherwise
955
989
only for current one. Setting this to false makes it easy to forget to log
1071
1110
Number of rows displayed when browsing a result set. If the result set
1072
1111
contains more rows, "Previous" and "Next" links will be shown.
1073
1112
$cfg['Order'] string [DESC|ASC|SMART]
1074
Defines whether fields are displayed in ascending (ASC) order, in
1113
Defines whether columns are displayed in ascending (ASC) order, in
1075
1114
descending (DESC) order or in a "smart" (SMART) order - I.E. descending
1076
order for fields of type TIME, DATE, DATETIME and TIMESTAMP, ascending
1115
order for columns of type TIME, DATE, DATETIME and TIMESTAMP, ascending
1077
1116
order else- by default.
1078
1117
$cfg['DisplayBinaryAsHex'] boolean
1079
1118
Defines whether the "Show binary contents as HEX" browse option is ticked
1081
1120
$cfg['ProtectBinary'] boolean or string
1082
Defines whether BLOB or BINARY fields are protected from editing when
1121
Defines whether BLOB or BINARY columns are protected from editing when
1083
1122
browsing a table's content. Valid values are:
1084
+ FALSE to allow editing of all fields;
1085
+ 'blob' to allow editing of all fields except BLOBS;
1086
+ 'all' to disallow editing of all BINARY or BLOB fields.
1123
+ FALSE to allow editing of all columns;
1124
+ 'blob' to allow editing of all columns except BLOBS;
1125
+ 'all' to disallow editing of all BINARY or BLOB columns.
1087
1126
$cfg['ShowFunctionFields'] boolean
1088
1127
Defines whether or not MySQL functions fields should be initially displayed
1089
1128
in edit/insert mode. Since version 2.10, the user can toggle this setting
1090
1129
from the interface.
1130
$cfg['ShowFieldTypesInDataEditView'] boolean
1131
Defines whether or not type fields should be initially displayed in edit/
1132
insert mode. The user can toggle this setting from the interface.
1091
1133
$cfg['CharEditing'] string
1092
1134
Defines which type of editing controls should be used for CHAR and VARCHAR
1093
fields. Possible values are:
1094
+ input - this allows to limit size of text to size of field in MySQL,
1095
but has problems with newlines in fields
1096
+ textarea - no problems with newlines in fields, but also no length
1135
columns. Possible values are:
1136
+ input - this allows to limit size of text to size of columns in MySQL,
1137
but has problems with newlines in columns
1138
+ textarea - no problems with newlines in columns, but also no length
1098
1140
Default is old behavior so input.
1099
1141
$cfg['InsertRows'] integer
1156
1198
$cfg['DefaultLang'] string
1157
1199
Defines the default language to use, if not browser-defined or
1159
See the select_lang.lib.php script to know the valid values for this
1201
The corresponding language file needs to be in locale/code/LC_MESSAGES/
1161
1203
$cfg['DefaultConnectionCollation'] string
1162
1204
Defines the default connection collation to use, if not user-defined.
1163
1205
See the MySQL documentation for list of possible values.
1164
1206
$cfg['Lang'] string
1165
Force: always use this language (must be defined in the select_lang.lib.php
1207
Force language to use.
1208
The corresponding language file needs to be in locale/code/LC_MESSAGES/
1167
1210
$cfg['FilterLanguages'] string
1168
1211
Limit list of available languages to those matching the given regular
1169
1212
expression. For example if you want only Czech and English, you should set
1170
1213
filter to '^(cs|en)'.
1171
$cfg['DefaultCharset'] string
1172
Default character set to use for recoding of MySQL queries. This must be
1173
enabled and it's described by $cfg['AllowAnywhereRecoding'] option.
1174
You can give here any character set which is in $cfg['AvailableCharsets']
1175
array and this is just default choice, user can select any of them.
1176
$cfg['AllowAnywhereRecoding'] boolean
1177
Allow character set recoding of MySQL queries. You need recode or iconv
1178
support (compiled in or module) in PHP to allow MySQL queries recoding and
1179
used language file must have it enabled (by default only these which are in
1180
Unicode, just to avoid losing some characters).
1182
Setting this to TRUE also activates a pull-down menu in the Export and
1183
Import pages, to choose the character set when exporting a file. The
1184
default value in this menu comes from $cfg['Export']['charset'] and $cfg
1185
['Import']['charset'].
1186
1214
$cfg['RecodingEngine'] string
1187
1215
You can select here which functions will be used for character set
1188
1216
conversion. Possible values are:
1236
1269
have problems with long URLs. Default is 1000.
1237
1270
$cfg['NaviWidth'] integer
1238
1271
Navi frame width in pixels. See themes/themename/layout.inc.php.
1239
$cfg['NaviBackground'] string [valid css code for background]
1240
$cfg['MainBackground'] string [valid css code for background]
1272
$cfg['NaviBackground'] string [CSS color for background]
1273
$cfg['MainBackground'] string [CSS color for background]
1241
1274
The background styles used for both the frames. See themes/themename/
1242
1275
layout.inc.php.
1243
$cfg['NaviPointerBackground'] string [valid css code for background]
1244
$cfg['NaviPointerColor'] string [valid css color]
1276
$cfg['NaviPointerBackground'] string [CSS color for background]
1277
$cfg['NaviPointerColor'] string [CSS color]
1245
1278
The style used for the pointer in the navi frame. See themes/themename/
1246
1279
layout.inc.php.
1247
$cfg['NaviDatabaseNameColor'] string [valid css code]
1248
The color used for the database name in the navi frame. See themes/
1249
themename/layout.inc.php.
1250
1280
$cfg['LeftPointerEnable'] boolean
1251
1281
A value of TRUE activates the navi pointer (when LeftFrameLight is FALSE).
1252
1282
$cfg['Border'] integer
1253
1283
The size of a table's border. See themes/themename/layout.inc.php.
1254
$cfg['ThBackground'] string [valid css code for background]
1255
$cfg['ThColor'] string [valid css color]
1284
$cfg['ThBackground'] string [CSS color for background]
1285
$cfg['ThColor'] string [CSS color]
1256
1286
The style used for table headers. See themes/themename/layout.inc.php.
1257
$cfg['BgOne'] string [HTML color]
1287
$cfg['BgOne'] string [CSS color]
1258
1288
The color (HTML) #1 for table rows. See themes/themename/layout.inc.php.
1259
$cfg['BgTwo'] string [HTML color]
1289
$cfg['BgTwo'] string [CSS color]
1260
1290
The color (HTML) #2 for table rows. See themes/themename/layout.inc.php.
1261
$cfg['BrowsePointerBackground'] string [HTML color]
1262
$cfg['BrowsePointerColor'] string [HTML color]
1263
$cfg['BrowseMarkerBackground'] string [HTML color]
1264
$cfg['BrowseMarkerColor'] string [HTML color]
1291
$cfg['BrowsePointerBackground'] string [CSS color]
1292
$cfg['BrowsePointerColor'] string [CSS color]
1293
$cfg['BrowseMarkerBackground'] string [CSS color]
1294
$cfg['BrowseMarkerColor'] string [CSS color]
1265
1295
The colors (HTML) uses for the pointer and the marker in browse mode.
1266
1296
The former feature highlights the row over which your mouse is passing and
1267
1297
the latter lets you visually mark/unmark rows by clicking on them.
1298
Highlighting / marking a column is done by hovering over / clicking the
1299
column's header (outside of the text).
1268
1300
See themes/themename/layout.inc.php.
1269
1301
$cfg['FontFamily'] string
1270
1302
You put here a valid CSS font family value, for example arial, sans-serif.
1287
1319
The Char* values are used for CHAR and VARCHAR editing (if configured via
1288
1320
$cfg['CharEditing']).
1289
1321
$cfg['LongtextDoubleTextarea'] boolean
1290
Defines whether textarea for LONGTEXT fields should have double size.
1322
Defines whether textarea for LONGTEXT columns should have double size.
1291
1323
$cfg['TextareaAutoSelect'] boolean
1292
1324
Defines if the whole textarea of the query box will be selected on click.
1293
$cfg['CtrlArrowsMoving'] boolean
1294
Enable Ctrl+Arrows (Option+Arrows in Safari) moving between fields when
1296
1325
$cfg['LimitChars'] integer
1297
1326
Maximum number of characters shown in any non-numeric field on browse view.
1298
1327
Can be turned off by a toggle button on the browse page.
1299
1328
$cfg['ModifyDeleteAtLeft'] boolean $cfg['ModifyDeleteAtRight'] boolean
1300
Defines the place where modify and delete links would be put when tables
1301
contents are displayed (you may have them displayed both at the left and at
1302
the right). "Left" and "right" are parsed as "top" and "bottom" with
1303
vertical display mode.
1304
$cfg['DefaultDisplay'] string $cfg['HeaderFlipType'] string
1329
Defines the place where table row links (Edit, Inline edit, Copy, Delete)
1330
would be put when tables contents are displayed (you may have them
1331
displayed both at the left and at the right). "Left" and "right" are parsed
1332
as "top" and "bottom" with vertical display mode.
1333
$cfg['DefaultDisplay'] string
1305
1334
There are 3 display modes: horizontal, horizontalflipped and vertical.
1306
1335
Define which one is displayed by default. The first mode displays each row
1307
1336
on a horizontal line, the second rotates the headers by 90 degrees, so you
1308
can use descriptive headers even though fields only contain small values
1337
can use descriptive headers even though columns only contain small values
1309
1338
and still print them out. The vertical mode sorts each row on a vertical
1312
The HeaderFlipType can be set to 'css' or 'fake'. When using 'css' the
1313
rotation of the header for horizontalflipped is done via CSS. If set to
1314
'fake' PHP does the transformation for you, but of course this does not
1315
look as good as CSS.
1340
$cfg['HeaderFlipType'] string
1341
The HeaderFlipType can be set to 'auto', 'css' or 'fake'. When using 'css'
1342
the rotation of the header for horizontalflipped is done via CSS. The CSS
1343
transformation currently works only in Internet Explorer.If set to 'fake'
1344
PHP does the transformation for you, but of course this does not look as
1345
good as CSS. The 'auto' option enables CSS transformation when browser
1346
supports it and use PHP based one otherwise.
1316
1347
$cfg['DefaultPropDisplay'] string or integer
1317
1348
When editing/creating new columns in a table all fields normally get lined
1318
1349
up one field a line. (default: 'horizontal'). If you set this to 'vertical'
1319
1350
you can have each field lined up vertically beneath each other. You can
1320
1351
save up a lot of place on the horizontal direction and no longer have to
1321
1352
scroll. If you set this to integer, editing of fewer columns will appear in
1322
'vertical' mode, while editing of more fields still in 'horizontal' mode.
1323
This way you can still effectively edit large number of fields, while
1353
'vertical' mode, while editing of more columns still in 'horizontal' mode.
1354
This way you can still effectively edit large number of columns, while
1324
1355
having full view on few of them.
1325
1356
$cfg['ShowBrowseComments'] boolean
1326
1357
$cfg['ShowPropertyComments'] boolean
1327
1358
By setting the corresponding variable to TRUE you can enable the display of
1328
1359
column comments in Browse or Property display. In browse mode, the comments
1329
1360
are shown inside the header. In property mode, comments are displayed using
1330
a CSS-formatted dashed-line below the name of the field. The comment is
1331
shown as a tool-tip for that field.
1361
a CSS-formatted dashed-line below the name of the column. The comment is
1362
shown as a tool-tip for that column.
1332
1363
$cfg['SQLQuery']['Edit'] boolean
1333
1364
Whether to display an edit link to change a query in any SQL Query box.
1334
1365
$cfg['SQLQuery']['Explain'] boolean
1406
1437
In this array are defined default parameters for export, names of items are
1407
1438
similar to texts seen on export page, so you can easily identify what they
1440
$cfg['Export']['method'] string
1441
Defines how the export form is displayed when it loads. Valid values are:
1442
+ quick to display the minimum number of options to configure
1443
+ custom to display every available option to configure
1444
+ custom-no-form same as custom but does not display the option of using
1409
1446
$cfg['Import'] array
1410
1447
In this array are defined default parameters for import, names of items are
1411
1448
similar to texts seen on import page, so you can easily identify what they
1474
1511
For VIEWs, since obtaining the exact count could have an impact on
1475
1512
performance, this value is the maximum to be displayed, using a SELECT
1476
1513
COUNT ... LIMIT. The default value of 0 bypasses any row counting.
1477
$cfg['WYSIWYG-PDF'] boolean
1478
Utilizes a WYSIWYG editing control to easily place elements of a PDF page.
1479
By clicking on the button 'toggle scratchboard' on the page where you edit
1480
x/y coordinates of those elements you can activate a scratchboard where all
1481
your elements are placed. By clicking on an element, you can move them
1482
around in the pre-defined area and the x/y coordinates will get updated
1483
dynamically. Likewise, when entering a new position directly into the input
1484
field, the new position in the scratchboard changes after your cursor
1485
leaves the input field.
1486
You have to click on the 'OK'-button below the tables to save the new
1487
positions. If you want to place a new element, first add it to the table of
1488
elements and then you can drag the new element around.
1489
By changing the paper size and the orientation you can change the size of
1490
the scratchboard as well. You can do so by just changing the dropdown field
1491
below, and the scratchboard will resize automatically, without interfering
1492
with the current placement of the elements.
1493
If ever an element gets out of range you can either enlarge the paper size
1494
or click on the 'reset' button to place all elements below each other.
1495
NOTE: You have to use a recent browser like IE6 or Mozilla to get this
1496
control to work. The basic Drag&Drop script functionality was kindly
1497
borrowed from www.youngpup.net and is underlying so specific license.
1498
1514
$cfg['NaturalOrder'] boolean
1499
1515
Sorts database and table names according to natural order (for example, t1,
1500
1516
t2, t10). Currently implemented in the left panel (Light mode) and in
1503
1519
If set to 'closed', the visual sliders are initially in a closed state. A
1504
1520
value of 'open' does the reverse. To completely disable all visual sliders,
1505
1521
use 'disabled'.
1522
$cfg['UserprefsDisallow'] array
1523
Contains names of configuration options (keys in $cfg array) that users
1524
can't set through user preferences. For possible values, refer to libraries
1525
/config/user_preferences.forms.php.
1506
1526
$cfg['TitleTable'] string
1507
1527
$cfg['TitleDatabase'] string
1508
1528
$cfg['TitleServer'] string
1509
1529
$cfg['TitleDefault'] string
1510
Allows you to specify window's title bar. Following magic string can be
1511
used to get special values:
1514
HTTP host that runs phpMyAdmin
1518
Verbose MySQL server name as defined in server configuration
1520
Verbose MySQL server name if set, otherwise normal
1522
Currently opened database
1524
Currently opened table
1526
phpMyAdmin with version
1530
Allows you to specify window's title bar. You can use format string
1528
1532
$cfg['ErrorIconic'] boolean
1529
1533
Uses icons for warnings, errors and informations.
1530
1534
$cfg['MainPageIconic'] boolean
1543
1547
$cfg['DefaultQueryTable'] string
1544
1548
$cfg['DefaultQueryDatabase'] string
1545
1549
Default queries that will be displayed in query boxes when user didn't
1546
specify any. Use %d for database name, %t for table name and %f for a comma
1547
separated list of field names. Note that %t and %f are only applicable to
1548
$cfg['DefaultQueryTable'].
1550
specify any. You can use standard format string expansion.
1549
1551
$cfg['SQP']['fmtType'] string [html|none]
1550
1552
The main use of the new SQL Parser is to pretty-print SQL queries. By
1551
1553
default we use HTML to format the query, but you can disable this by
1611
1613
DEVELOPERS ONLY!
1612
1614
Enable logging queries and execution times to be displayed in the bottom of
1613
1615
main page (right frame).
1614
$cfg['DBG']['php'] boolean
1616
Enable the DBG extension for debugging phpMyAdmin. Required for profiling
1618
For help in setting up your system to this, see the Developers section.
1619
$cfg['DBG']['profile']['enable'] boolean
1621
Enable profiling support for phpMyAdmin. This will append a chunk of data
1622
to the end of every page displayed in the main window with profiling
1623
statistics for that page.
1624
You may need to increase the maximum execution time for this to complete
1625
successfully.Profiling was removed from the code for version 2.9.0 due to
1627
$cfg['DBG']['profile']['threshold'] float (units in milliseconds)
1629
When profiling data is displayed, this variable controls the threshold of
1630
display for any profiling data, based on the average time each time has
1631
taken. If it is over the threshold it is displayed, otherwise it is not
1632
displayed. This takes a value in milliseconds. In most cases you don't need
1634
1616
$cfg['ColumnTypes'] array
1635
1617
All possible types of a MySQL column. In most cases you don't need to edit
1637
1619
$cfg['AttributeTypes'] array
1638
Possible attributes for fields. In most cases you don't need to edit this.
1620
Possible attributes for columns. In most cases you don't need to edit this.
1639
1621
$cfg['Functions'] array
1640
1622
A list of functions MySQL supports. In most cases you don't need to edit
1650
1632
defined for meta types from $cfg['RestrictColumnTypes'] and for
1651
1633
first_timestamp, which is used for first timestamp column in table.
1652
1634
$cfg['NumOperators'] array
1653
Operators available for search operations on numeric and date fields.
1635
Operators available for search operations on numeric and date columns.
1654
1636
$cfg['TextOperators'] array
1655
Operators available for search operations on character fields. Note that we
1656
put LIKE by default instead of LIKE %...%, to avoid unintended performance
1657
problems in case of huge tables.
1637
Operators available for search operations on character columns. Note that
1638
we put LIKE by default instead of LIKE %...%, to avoid unintended
1639
performance problems in case of huge tables.
1658
1640
$cfg['EnumOperators'] array
1659
Operators available for search operations on enum fields.
1641
Operators available for search operations on ENUM columns.
1660
1642
$cfg['NullOperators'] array
1661
Additional operators available for search operations when the field can be
1643
Additional operators available for search operations when the column can be
1664
1646
Transformations
1672
1654
To enable transformations, you have to setup the column_info table and the
1673
1655
proper directives. Please see the Configuration section on how to do so.
1675
You can apply different transformations to the contents of each field. The
1676
transformation will take the content of each field and transform it with
1657
You can apply different transformations to the contents of each column. The
1658
transformation will take the content of each column and transform it with
1677
1659
certain rules defined in the selected transformation.
1679
Say you have a field 'filename' which contains a filename. Normally you would
1661
Say you have a column 'filename' which contains a filename. Normally you would
1680
1662
see in phpMyAdmin only this filename. Using transformations you can transform
1681
1663
that filename into a HTML link, so you can click inside of the phpMyAdmin
1682
structure on the field's link and will see the file displayed in a new browser
1664
structure on the column's link and will see the file displayed in a new browser
1683
1665
window. Using transformation options you can also specify strings to append/
1684
1666
prepend to a string or the format you want the output stored in.
1740
1722
Because the user cannot enter own mimetypes, it is kept sure that
1741
1723
transformations always work. It makes no sense to apply a transformation to a
1742
mimetype, the transform-function doesn't know to handle.
1724
mimetype the transform-function doesn't know to handle.
1744
1726
One can, however, use empty mime-types and global transformations which should
1745
1727
work for many mimetypes. You can also use transforms on a different mimetype
1746
they where built for, but pay attention to option usage as well as what the
1747
transformation does to your field.
1728
than what they where built for, but pay attention to option usage as well as
1729
what the transformation does to your column.
1749
1731
There is a basic file called 'global.inc.php'. This function can be included by
1750
1732
any other transform function and provides some basic functions.
1845
1822
want to transform.
1846
1823
2. $options - Contains any user-passed options to a transform function as an
1848
3. $meta - Contains an object with field information to your column. The data
1849
is drawn from the output of the mysql_fetch_field() function. This means,
1850
all object properties described on the manual page are available in this
1851
variable and can be used to transform a field accordingly to unsigned/
1825
3. $meta - Contains an object with information about your column. The data is
1826
drawn from the output of the mysql_fetch_field() function. This means, all
1827
object properties described on the manual page are available in this
1828
variable and can be used to transform a column accordingly to unsigned/
1852
1829
zerofill/not_null/... properties.
1853
The $meta->mimetype variable contains the original MIME-type of the field
1830
The $meta->mimetype variable contains the original MIME-type of the column
1854
1831
(i.e. 'text/plain', 'image/jpeg' etc.)
1833
Additionally you should also provide additional function to provide information
1834
about the transformation to the user. This function should have same name as
1835
transformation function just with appended _info suffix. This function accepts
1836
no parameters and returns array with information about the transformation.
1837
Currently following keys can be used:
1840
Long description of the transformation.
1856
1842
FAQ - Frequently Asked Questions
1928
1914
* put upload_tmp_dir = /tmp/php in php.ini
1929
1915
* restart Apache
1931
1.9 I'm having troubles when uploading files. In general file uploads don't
1932
work on my system and uploaded files have a Content-Type: header in the first
1935
It's not really phpMyAdmin related but RedHat 7.0. You have a RedHat 7.0 and
1936
you updated your PHP RPM to php-4.0.4pl1-3.i386.rpm, didn't you?
1937
So the problem is that this package has a serious bug that was corrected ages
1938
ago in PHP (2001-01-28: see PHP's bug tracking system for more details). The
1939
problem is that the bugged package is still available though it was corrected
1940
(see RedHat's BugZilla for more details).
1941
So please download the fixed package (4.0.4pl1-9) and the problem should go
1943
And that fixes the \r\n problem with file uploads!
1945
1919
1.10 I'm having troubles when uploading files with phpMyAdmin running on a
1946
1920
secure server. My browser is Internet Explorer and I'm using the Apache server.
1965
1939
The MySQL manual explains how to reset the permissions.
1967
1.13 I get an error 'No SQL query' when trying to execute a bookmark.
1969
If PHP does not have read/write access to its upload_tmp_dir, it cannot access
1972
1.14 I get an error 'No SQL query' when trying to submit a query from the
1973
convenient text area.
1975
Check the post_max_size directive from your PHP configuration file and try to
1978
1.15 I have problems with mysql.user field names.
1980
In previous MySQL versions, the User and Password fields were named user and
1981
password. Please modify your field names to align with current standards.
1945
1.15 I have problems with mysql.user column names.
1947
In previous MySQL versions, the User and Passwordcolumns were named user and
1948
password. Please modify your column names to align with current standards.
1983
1950
1.16 I cannot upload big dump files (memory, HTTP or timeout problems).
2012
1979
MySQL versions, you need to use the latest 2.x branch. phpMyAdmin can connect
2013
1980
to your MySQL server using PHP's classic MySQL extension as well as the
2014
1981
improved MySQL extension (MySQLi) that is available in php 5.0. The latter one
2015
should be used unless you have good reason not to do so.
2016
When compiling php, we strongly recommend that you manually link the MySQL
1982
should be used unless you have a good reason not to do so.
1983
When compiling PHP, we strongly recommend that you manually link the MySQL
2017
1984
extension of your choice to a MySQL client library of at least the same minor
2018
1985
version since the one that is bundled with some PHP distributions is rather old
2019
1986
and might cause problems (see FAQ 1.17a).
1988
MariaDB is also supported (versions 5.1 and 5.2 were tested).
2021
1990
1.17a I cannot connect to the MySQL server. It always returns the error
2022
1991
message, "Client does not support authentication protocol requested by server;
2023
1992
consider upgrading MySQL client"
2476
2446
3.6 What is currently not supported in phpMyAdmin about InnoDB?
2478
2448
In Relation view, being able to choose a table in another database, or having
2479
more than one index field in the foreign key.
2449
more than one index column in the foreign key.
2481
2451
In Query-by-example (Query), automatic generation of the query LEFT JOIN from
2482
2452
the foreign table.
2485
3.7 I have table with many (100+) fields and when I try to browse table I get
2455
3.7 I have table with many (100+) columns and when I try to browse table I get
2486
2456
series of errors like "Warning: unable to parse url". How can this be fixed?
2488
2458
Your table neither have a primary key nor an unique one, so we must use a long
2489
2459
expression to identify this row. This causes problems to parse_url function.
2490
2460
The workaround is to create a primary or unique key.
2492
3.8 I cannot use (clickable) HTML-forms in fields where I put a
2462
3.8 I cannot use (clickable) HTML-forms in columns where I put a
2493
2463
MIME-Transformation onto!
2495
2465
Due to a surrounding form-container (for multi-row delete checkboxes), no
2526
2496
['MaxExactCount'] for a way to modify those results, but this could have a
2527
2497
serious impact on performance.
2529
3.12 What are the phpMyAdmin limitations for MySQL 3?
2531
The number of records in queries containing COUNT and GROUP BY is not correctly
2532
calculated. Also, sorting results of a query like "SELECT * from table GROUP
2533
BY" ... is problematic.
2535
2501
3.13 I get an error when entering USE followed by a db name containing an
2538
The tests I have made with current MySQL 4.1.11 API shows that the API does not
2539
accept this syntax for the USE command. Enclosing the db name with backquotes
2540
works. For further confusion, no backquotes are needed with command-line mysql.
2504
The tests I have made with MySQL 5.1.49 shows that the API does not accept this
2505
syntax for the USE command.
2542
2507
3.14 I am not able to browse a table when I don't have the right to SELECT one
2543
2508
of the columns.
2679
2644
Browsers or client OS
2681
2646
5.1 I get an out of memory error, and my controls are non-functional, when
2682
trying to create a table with more than 14 fields.
2647
trying to create a table with more than 14 columns.
2684
2649
We could reproduce this problem only under Win98/98SE. Testing under WinNT4 or
2685
Win2K, we could easily create more than 60 fields.
2686
A workaround is to create a smaller number of fields, then come back to your
2687
table properties and add the other fields.
2650
Win2K, we could easily create more than 60 columns.
2651
A workaround is to create a smaller number of columns, then come back to your
2652
table properties and add the other columns.
2689
2654
5.2 With Xitami 2.5b4, phpMyAdmin won't process form fields.
2813
2778
Also, look at the syntax chapter in the MySQL manual to confirm that your
2814
2779
syntax is correct.
2816
6.2 When I create a table, I set an index for two fields and phpMyAdmin
2817
generates only one index with those two fields.
2781
6.2 When I create a table, I set an index for two columns and phpMyAdmin
2782
generates only one index with those two columns.
2819
This is the way to create a multi-fields index. If you want two indexes, create
2820
the first one when creating the table, save, then display the table properties
2821
and click the Index link to create the other index.
2784
This is the way to create a multi-columns index. If you want two indexes,
2785
create the first one when creating the table, save, then display the table
2786
properties and click the Index link to create the other index.
2823
2788
6.3 How can I insert a null value into my table?
2825
Since version 2.2.3, you have a checkbox for each field that can be null.
2826
Before 2.2.3, you had to enter "null", without the quotes, as the field's
2790
Since version 2.2.3, you have a checkbox for each column that can be null.
2791
Before 2.2.3, you had to enter "null", without the quotes, as the column's
2827
2792
value. Since version 2.5.5, you have to use the checkbox to get a real NULL
2828
value, so if you enter "NULL" this means you want a literal NULL in the field,
2793
value, so if you enter "NULL" this means you want a literal NULL in the column,
2829
2794
and not a NULL value (this works in PHP4).
2831
2796
6.4 How can I backup my database or table?
2906
2871
* Choose "Query"
2907
2872
* Use tables: persons, towns, countries
2908
2873
* Click "Update query"
2909
* In the fields row, choose persons.person_name and click the "Show" tickbox
2874
* In the columns row, choose persons.person_name and click the "Show" tickbox
2910
2875
* Do the same for towns.description and countries.descriptions in the other 2
2912
2877
* Click "Update query" and you will see in the query box that the correct
2913
2878
joins have been generated
2914
2879
* Click "Submit query"
2916
6.7 How can I use the "display field" feature?
2881
6.7 How can I use the "display column" feature?
2918
2883
Starting from the previous example, create the pma_table_info as explained in
2919
2884
the configuration section, then browse your persons table, and move the mouse
2920
2885
over a town code or country code.
2922
See also FAQ 6.21 for an additional feature that "display field" enables:
2887
See also FAQ 6.21 for an additional feature that "display column" enables:
2923
2888
drop-down list of possible values.
2925
2890
6.8 How can I produce a PDF schema of my database?
3008
2973
6.14 How do I set up the SQL Validator?
3010
To use it, you need a very recent version of PHP, 4.3.0 recommended, with XML,
3011
PCRE and PEAR support. On your system command line, run "pear install
3012
Net_Socket Net_URL HTTP_Request Mail_Mime Net_DIME SOAP" to get the necessary
3013
PEAR modules for usage.
3014
On a more recent pear version, I had problems with the state of Net_DIME being
3015
beta, so this single command "pear -d preferred_state=beta install -a SOAP"
3016
installed all the needed modules.
2975
To use SQL Validator, you need PHP with XML, PCRE and PEAR support. In addition
2976
you need a SOAP support, either as a PHP extension or as a PEAR SOAP module.
2978
To install PEAR SOAP module, run "pear install Net_Socket Net_URL HTTP_Request
2979
Mail_Mime Net_DIME SOAP" to get the necessary PEAR modules for usage.
3017
2981
If you use the Validator, you should be aware that any SQL statement you submit
3018
2982
will be stored anonymously (database/table/column names, strings, numbers
3019
2983
replaced with generic values). The Mimer SQL Validator itself, is ? 2001
3020
2984
Upright Database Technology. We utilize it as free SOAP service.
3022
6.15 I want to add a BLOB field and put an index on it, but MySQL says "BLOB
2986
6.15 I want to add a BLOB column and put an index on it, but MySQL says "BLOB
3023
2987
column '...' used in key specification without a key length".
3025
The right way to do this, is to create the field without any indexes, then
2989
The right way to do this, is to create the column without any indexes, then
3026
2990
display the table structure and use the "Create an index" dialog. On this page,
3027
you will be able to choose your BLOB field, and set a size to the index, which
3028
is the condition to create an index on a BLOB field.
2991
you will be able to choose your BLOB column, and set a size to the index, which
2992
is the condition to create an index on a BLOB column.
3030
2994
6.16 How can I simply move in page with plenty editing fields?
3032
2996
You can use Ctrl+arrows (Option+Arrows in Safari) for moving on most pages with
3033
many editing fields (table structure changes, row editing, etc.) (must be
3034
enabled in configuration - see. $cfg['CtrlArrowsMoving']). You can also have a
3035
look at the directive $cfg['DefaultPropDisplay'] ('vertical') and see if this
3036
eases up editing for you.
2997
many editing fields (table structure changes, row editing, etc.). You can also
2998
have a look at the directive $cfg['DefaultPropDisplay'] ('vertical') and see if
2999
this eases up editing for you.
3038
3001
6.17 Transformations: I can't enter my own mimetype! WTF is this feature then
3041
3004
Slow down :). Defining mimetypes is of no use, if you can't put transformations
3042
on them. Otherwise you could just put a comment on the field. Because entering
3005
on them. Otherwise you could just put a comment on the column. Because entering
3043
3006
your own mimetype will cause serious syntax checking issues and validation,
3044
3007
this introduces a high-risk false-user-input situation. Instead you have to
3045
3008
initialize mimetypes using functions or empty mimetype definitions.
3114
3078
So if your users do not need those privileges, you can remove them and their
3115
3079
databases list will shorten.
3117
6.21 In edit/insert mode, how can I see a list of possible values for a field,
3081
6.21 In edit/insert mode, how can I see a list of possible values for a column,
3118
3082
based on some foreign table?
3120
3084
You have to setup appropriate links between the tables, and also setup the
3121
"display field" in the foreign table. See FAQ 6.6 for an example. Then, if
3085
"display column" in the foreign table. See FAQ 6.6 for an example. Then, if
3122
3086
there are 100 values or less in the foreign table, a drop-down list of values
3123
3087
will be available. You will see two lists of values, the first list containing
3124
the key and the display field, the second list containing the display field and
3125
the key. The reason for this is to be able to type the first letter of either
3126
the key or the display field.
3088
the key and the display column, the second list containing the display column
3089
and the key. The reason for this is to be able to type the first letter of
3090
either the key or the display column.
3128
3092
For 100 values or more, a distinct window will appear, to browse foreign key
3129
3093
values and choose one. To change the default limit of 100, see $cfg
3157
3121
6.25 How does BLOB streaming work in phpMyAdmin?
3159
First, for general information about BLOB streaming on MySQL, visit
3160
blobstreaming.org. We currently support streaming if you are running MySQL 5.1
3161
with the PBXT and PBMS storage engines. Moreover, only PBMS 0.5.04 is
3123
For general information about BLOB streaming on MySQL, visit blobstreaming.org.
3124
You need the following components:
3126
* PBMS BLOB Streaming Daemon for MySQL (0.5.15 or later)
3127
* Streaming enabled PBXT Storage engine for MySQL (1.0.11-6 or later)
3128
* PBMS Client Library for MySQL (0.5.15 or later)
3129
* PBMS PHP Extension for MySQL (0.1.1 or later)
3131
Here are details about configuration and operation:
3164
3133
1. In config.inc.php your host should be defined with a FQDN (fully qualified
3165
domain name) instead of something like "localhost".
3166
2. A current limitation is that your first login via phpMyAdmin to a
3167
freshly-started server must be done with an account that has the SUPER
3169
3. On your target database, go to Operations and in the "BLOB Repository"
3170
section, click "Enable". This creates the PBMS system tables inside your
3172
4. Ensure that your target table is under the PBXT storage engine and has a
3174
5. When you insert or update a row in this table, put a checkmark on the
3134
domain name) instead of "localhost".
3135
2. Ensure that your target table is under the PBXT storage engine and has a
3136
LONGBLOB column (which must be nullable if you want to remove the BLOB
3138
3. When you insert or update a row in this table, put a checkmark on the
3175
3139
"Upload to BLOB repository" optional choice; otherwise, the upload will be
3176
done directly in your column instead of the repository.
3177
6. Finally when you browse your table, you'll see in your column a link to
3140
done directly in your LONGBLOB column instead of the repository.
3141
4. Finally when you browse your table, you'll see in your column a link to
3178
3142
stream your data, for example "View image". A header containing the correct
3179
3143
MIME-type will be sent to your browser; this MIME-type was stored at upload
3180
time but in case it's incorrect, it's possible to edit it by clicking on
3181
the displayed MIME-type.
3183
3146
6.26 How can I select a range of rows?
3186
3149
the range. This works everywhere you see rows, for example in Browse mode or on
3187
3150
the Structure page.
3152
6.27 What format strings can I use?
3154
In all places where phpMyAdmin accepts format strings, you can use @VARIABLE@
3155
expansion and strftime format strings. The expanded variables depend on a
3156
context (for example, if you haven't chosen a table, you can not get the table
3157
name), but the following variables can be used:
3160
HTTP host that runs phpMyAdmin
3164
Verbose MySQL server name as defined in server configuration
3166
Verbose MySQL server name if set, otherwise normal
3168
Currently opened database
3170
Currently opened table
3172
Fields of currently opened table
3174
phpMyAdmin with version
3176
6.28 How can I easily edit relational schema for export?
3178
By clicking on the button 'toggle scratchboard' on the page where you edit x/y
3179
coordinates of those elements you can activate a scratchboard where all your
3180
elements are placed. By clicking on an element, you can move them around in the
3181
pre-defined area and the x/y coordinates will get updated dynamically.
3182
Likewise, when entering a new position directly into the input field, the new
3183
position in the scratchboard changes after your cursor leaves the input field.
3185
You have to click on the 'OK'-button below the tables to save the new
3186
positions. If you want to place a new element, first add it to the table of
3187
elements and then you can drag the new element around.
3189
By changing the paper size and the orientation you can change the size of the
3190
scratchboard as well. You can do so by just changing the dropdown field below,
3191
and the scratchboard will resize automatically, without interfering with the
3192
current placement of the elements.
3194
If ever an element gets out of range you can either enlarge the paper size or
3195
click on the 'reset' button to place all elements below each other.
3197
6.29 Why can't I get a chart from my query result table?
3199
Not every table can be put to the chart. Only tables with one, two or three
3200
columns can be visualised as a chart. Moreover the table must be in a special
3201
format for chart script to understand it. Currently supported formats can be
3189
3204
phpMyAdmin project
3191
3206
7.1 I have found a bug. How do I inform developers?
3196
3211
But please first discuss your bug with other users:
3197
http://sf.net/projects/phpmyadmin/ (and choose Forums)
3212
https://sourceforge.net/projects/phpmyadmin/forums.
3199
3214
7.2 I want to translate the messages to a new language or upgrade an existing
3200
3215
language, where do I start?
3202
Always use the current SVN version of your language file. For a new language,
3203
start from english-utf-8.inc.php. If you don't know how to get the SVN version,
3204
please ask one of the developers.
3217
Always use latest Git version of the po file to translate. You can optionally
3218
translate online at our translation server where you can also get the latest po
3219
files and merge them with your translations. For creating a new translation
3220
simply use po/phpmyadmin.pot and generate po/LANG_CODE.po for your language
3221
(you can use msginit -i po/phpmyadmin.pot -l LANG_CODE --no-translator -o po/
3222
LANG_CODE.po to do this) or ask on the mailing list to add the translation to
3223
the web interface. More details are available on our wiki.
3205
3225
Please note that we try not to use HTML entities like é in the
3206
3226
translations, since we define the right character set in the file. With HTML
3207
3227
entities, the text on JavaScript messages would not display correctly. However
3208
there are some entities that need to be there, for quotes ,non-breakable
3209
spaces, ampersands, less than, greater than.
3228
there are some entities that need to be there: quotes, non-breakable spaces,
3229
ampersands, less than, greater than.
3210
3231
You can then put your translations, as a zip file to avoid losing special
3211
3232
characters, on the sourceforge.net translation tracker.
3212
3234
It would be a good idea to subscribe to the phpmyadmin-translators mailing
3213
3235
list, because this is where we ask for translations of new messages.
3237
Documentation is being translated using po4a and gettext (see documentation for
3238
existing translations). To start, checkout localized_docs/po from Git, or just
3239
go to the translation server and translate it online. If your language is
3240
missing, just contact Michal ?iha?; he will add it. If you prefer to directly
3241
translate the po files, please put updated ones into our translation tracker.
3215
3243
7.3 I would like to help out with the development of phpMyAdmin. How should I
3263
3291
9.1 How can I synchronize two databases/tables in phpMyAdmin?
3265
3293
You can now synchronize databases/tables in phpMyAdmin using the Synchronize
3266
feature. It allows you to connect to local as well as remote servers.This
3294
feature. It allows you to connect to local as well as remote servers. This
3267
3295
requires you to enter server host name, username, password, port and the name
3268
3296
of the database. Therefore you can now synchronize your databases placed on the
3269
3297
same server or some remote server.
3271
For more details see How to synchronize
3299
This feature is helpful for developers who need to replicate their database?s
3300
structure as well as data. Moreover, this feature not only helps replication
3301
but also facilitates the user to keep his/her database in sync with another
3302
database. Other than the full database, certain tables of the databases can
3303
also be synchronized.
3305
You need to fill in the host name of the server, the username and password of
3306
an user account already there in MySQL. Port is by default populated with 3306
3307
(MySQL default port). Then the name of the database should be mentioned at the
3308
end. All the information other than the port needs to be filled explicitly for
3309
the source as well as target servers.
3311
After successfully passing through the authentication phase, the source and
3312
target database table names will be displayed. It will be a tabular
3315
On the left, are listed the source database table names. Some of the names have
3316
a + plus sign preceding them. This shows that these tables are only present in
3317
source database and they need to be added to the target database in order to
3318
synchronize the target database. The tables whose names are not preceded by a +
3319
sign are already present in the target database.
3321
On the right, are listed the target database table names. There are few table
3322
names that have (not present) appended after their names. This means that these
3323
tables are to be created in target database in order to synchronize target
3324
database with source database. Some table names have a - minus sign preceding
3325
them. This shows that these tables are only present in target database and they
3326
will remain unchanged in the target database. The column in the middle shows
3327
the difference between the source and target corresponding tables.
3329
The difference is depicted by the red and green buttons with S and D letters,
3330
indicating that either Structure or Data are not up to date. By clicking on
3331
them, they will turn grey, what means that they will be synchronized.
3273
3333
Developers Information
3296
3356
* Please try to keep up the file-naming conventions. Table-related stuff goes
3297
3357
to tbl_*.php, db-related code to db_*.php, server-related tools to
3298
3358
server_*.php and so on.
3299
* Please don't put message strings in your code, instead add the string (at
3300
least) to english-utf-8.inc.php and print() it out.
3359
* Please use gettext wrappers around all messages (__('Some text') or
3360
_ngettext() function). To translate them, you need to call scripts/
3361
update-po script. To use translated messages, call scripts/generate-mo,
3362
which generates binary files read by Gettext.
3301
3363
* If you want to be really helpful, write an entry for the ChangeLog.
3302
3364
* The DBG extension (PHP Debugger DBG) is now supported by phpMyAdmin for
3303
3365
developers to better debug and profile their code.
3455
3520
+ Synchronization feature
3456
3521
* Tom?? Srnka (Google Summer of Code 2009)
3457
3522
+ Replication support
3523
* Muhammad Adnan (Google Summer of Code 2010)
3524
+ Relation schema export to multiple formats
3525
* Lori Lee (Google Summer of Code 2010)
3526
+ User interface improvements
3528
+ Simplified interface for export/import
3529
* Ninad Pundalik (Google Summer of Code 2010)
3530
+ AJAXifying the interface
3531
* Martynas Mickevi?ius (Google Summer of Code 2010)
3534
+ BLOBstreaming support with PBMS PHP extension
3535
* Ankit Gupta (Google Summer of Code 2010)
3536
+ Visual query builder
3459
3538
And also to the following people who have contributed minor changes,
3460
3539
enhancements, bugfixes or support for a new language since version 2.1.0: