📄 documentation.txt
字号:
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 login information does not need to be set in the phpMyAdmin configuration file (except possibly for the controluser). However, keep in mind that the password travels in plain text, unless you are using the HTTPS protocol. In cookie mode, the password is stored, encrypted with the blowfish algorithm, in a temporary cookie. * Note: starting with phpMyAdmin 2.6.1, this section is only applicable if your MySQL server is older than 4.1.2, or is running with --skip-show-database. 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`.`host` (all columns) and `mysql`. `tables_priv` (all columns except `Grantor` and `Timestamp`) tables. You must specify the details for the controluser in the config.inc.php file under the $cfg['Servers'][$i]['controluser'] and $cfg['Servers'][$i] ['controlpass'] settings. The following 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! Input these statements from the phpMyAdmin SQL Query window or mysql command?line client. Of course you have to replace localhost with the webserver's host if it's not the same as the MySQL server's one. 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, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv ) ON mysql.user TO 'pma'@'localhost'; GRANT SELECT ON mysql.db TO 'pma'@'localhost'; GRANT SELECT ON mysql.host TO 'pma'@'localhost'; GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON mysql.tables_priv TO 'pma'@'localhost'; If you are using an old MySQL version (below 4.0.2), please replace the first GRANT SELECT query by this one: 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'; ... 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 that your linked-tables infrastructure be set up). Of course, the above queries only work if your MySQL version supports the GRANT command. This is the case since 3.22.11. * 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 authentication mode, you don't need to fill the user/ password fields inside the $cfg['Servers'] array.'HTTP' authentication mode * Uses HTTP Basic authentication method and allows you to log in as any valid MySQL user. * Is supported with most PHP configurations. For IIS (ISAPI) support using CGI PHP see FAQ 1.32, for using with Apache CGI see FAQ 1.35. * See also FAQ 4.4 about not using the .htaccess mechanism along with 'HTTP' authentication mode.'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, but this is now a requirement for all authentication modes. * With this mode, the user can truly log out of phpMyAdmin and log in back with the same username. * If you want to log in to arbitrary server see $cfg['AllowArbitraryServer'] directive. * As mentioned in the requirements section, having the mcrypt extension will speed up access considerably, but is not required.'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 (and as a result, anyone who can read your config.inc.php can discover your username and password). 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. * Unlike cookie and http, does not require a user to log in when first loading the phpMyAdmin site. This is by design but could allow any user to access your installation. Use of some restriction method is suggested, perhaps a .htaccess file with the HTTP-AUTH directive or disallowing incoming HTTP requests at one?s router or firewall will suffice (both of which are beyond the scope of this manual but easily searchable with Google).ConfigurationWarning for Mac users: PHP does not seem to like Mac end of lines character ("\r"). So ensure you choose the option that allows to use the *nix end of linecharacter ("\n") in your text editor before saving a script you have modified.Configuration note: Almost all configurable data is placed in config.inc.php.If this file does not exist, please refer to the Quick install section tocreate one. This file only needs to contain the parameters you want to changefrom their corresponding default value in libraries/config.default.php.The parameters which relate to design (like colors) are placed in themes/themename/layout.inc.php. You might also want to create config.footer.inc.phpand config.header.inc.php files to add your site specific code to be includedon start and end of each page.$cfg['PmaAbsoluteUri'] string Sets here the complete URL (with full path) to your phpMyAdmin installation's directory. E.g. http://www.your_web.net/ path_to_your_phpMyAdmin_directory/. Note also that the URL on some web servers are case?sensitive. Don?t forget the trailing slash at the end. Starting with version 2.3.0, it is advisable to try leaving this blank. In most cases phpMyAdmin automatically detects the proper setting. Users of port forwarding will need to set PmaAbsoluteUri (more info). A good test is to browse a table, edit a row and save it. There should be an error message if phpMyAdmin is having trouble auto?detecting the correct value. If you get an error that this must be set or if the autodetect code fails to detect your path, please post a bug report on our bug tracker so we can improve the code.$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['blowfish_secret'] string The "cookie" auth_type uses blowfish algorithm to encrypt the password. If you are using the "cookie" auth_type, enter here a random passphrase of your choice. It will be used internally by the blowfish algorithm: you won?t be prompted for this passphrase. The maximum number of characters for this parameter seems to be 46.$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. In ./libraries/config.default.php, there is only one section for server definition, however you can put as many as you need in ./config.inc.php, copy that block or needed parts (you don't have to define all settings, just those you need to change).$cfg['Servers'][$i]['host'] string The hostname or IP address 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). If you use "localhost" as the hostname, MySQL ignores this port number and connects with the socket, so if you want to connect to a port different from the default port, use "127.0.0.1" or the real hostname in $cfg ['Servers'][$i]['host'].$cfg['Servers'][$i]['socket'] string The path to the socket to use. Leave blank for default. To determine the correct socket, check your MySQL configuration or, using the mysql command?line client, issue the status command. Among the resulting information displayed will be the socket used.$cfg['Servers'][$i]['ssl'] boolean Whether to enable SSL for connection to MySQL server.$cfg['Servers'][$i]['connect_type'] string What type connection to use with the MySQL server. Your options are 'socket' and 'tcp'. It defaults to 'tcp' as that is nearly guaranteed 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]['extension'] string What php MySQL extension to use for the connection. Valid options are: mysql : The classic MySQL extension. This is the recommended and default method at this time. mysqli : The improved MySQL extension. This extension became available with php 5.0.0 and is the recommended way to connect to a server running MySQL 4.1.x.$cfg['Servers'][$i]['compress'] boolean Whether 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 This special account is used for 2 distinct purposes: to make possible all relational features (see $cfg['Servers'][$i]['pmadb']) and, for a MySQL server older than 4.1.2 or running with --skip-show-database, to enable a multi-user installation (HTTP or cookie authentication mode). 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) and mysql.tables_priv (all columns except "Grantor" and "Timestamp") tables. This account is used to check what databases the user will see at login. Please see the install section on "Using authentication modes" for more information. In phpMyAdmin versions before 2.2.5, those were called "stduser/stdpass".$cfg['Servers'][$i]['auth_type'] string ['HTTP'|'http'|'cookie'|'config'| 'signon'] Whether config or cookie or HTTP or signon 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.php. + '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. Username and password are stored in cookies during the session and password is deleted when it ends. This can also allow you to log in in arbitrary server if $cfg['AllowArbitraryServer'] enabled. + 'HTTP' authentication (was called 'advanced' in older versions and can be written also as 'http') ($auth_type = 'HTTP') as introduced in 1.3.0 allows you to log in as any valid MySQL user via HTTP-Auth. + 'signon' authentication mode ($auth_type = 'signon') as introduced in 2.10.0 allows you to log in from prepared PHP session data. This is useful for implementing single signon from another application. Sample way how to seed session is in signon example: scripts/signon.php. You need to configure session name and signon URL to use this authentication method. Please see the install section on "Using authentication modes" for more information.$cfg['Servers'][$i]['user'] string $cfg['Servers'][$i]['password'] string When using auth_type = 'config', this is the user/password-pair which phpMyAdmin will use to connect to the MySQL server. This user/password pair is not needed when HTTP or cookie authentication is used and should be empty.$cfg['Servers'][$i]['nopassword'] boolean Allow attempt to log in without password when a login with password fails. This can be used together with http authentication, when authentication is done some other way and phpMyAdmin gets user name from auth and uses empty password for connecting to MySQL. Password login is still tried first, but as fallback, no password method is tried.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -