“中国要复兴、富强,必须在开源软件领域起到主导作用,为了国家安全和人类发展,责无旁贷,我们须为此而奋斗”——By:云客
简介:
phpMyAdmin是用php开发的mysql数据库管理工具,属于开源自由软件,支持用户通过网页界面对数据库进行广泛的操作,除界面外还支持执行任意sql语句,为了便于使用,提供72种语言,包括从右到左的语言。
官方地址为:https://www.phpmyadmin.net/
功能概述:
- 通过网页界面管理
- 支持绝大多数MySQL功能。
- 可通过CSV 和SQL导入数据
- 可导出数据到这些格式: CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument Text and Spreadsheet, Word, LATEX 等等
- 管理多个服务器
- 以多种格式创建database layout图表
- 通过Query-by-example (QBE)创建复杂查询
- 在数据库或它的子集上进行全局搜索
- 用预定义的函数将储存的数据转化成任意格式
当前版本:
V4.7.3 (2017年8月9日),该项目已经有18年了
需求:
本需求是相对于当前版本而言:
PHP: 5.5.0 或更新
数据库:支持MySQL兼容型数据库:MySQL 5.5 或更新,MariaDB 5.5 或更新
浏览器:开启cookies 和JavaScript支持
下载:
地址:https://www.phpmyadmin.net/
官网右上角有最新的稳定版下载,点击会开始下载,并弹出一个提示框,提示你下载完成后进行文件完整性验证,提供了SHA256哈希值,如果你很注重安全,请进行验证;此外呼吁你向项目捐助,phpMyAdmin是开源免费的,要发展还得靠大家,如果你想,就点击Donate to phpMyAdmin按钮进行捐助,否则点击Close按钮关闭。
安装:
解压下载的文件,会得到一个类似phpMyAdmin-4.7.3-all-languages 的文件夹,将里面的文件传入需要访问的web目录即可。
用户和登录:
安装后在浏览器中访问该目录就能显示登录界面了,但登录前需要先进行配置(见下文),很多人难以理解 phpMyAdmin 用户的概念:当用户登录到 phpMyAdmin 时,用户名和密码是被直接发送到 MySQL 的,自身的配置文件可以不需要储存他们,也不建议储存。phpMyAdmin 本身并不管理任何用户(但有相应权限的用户可以通过 phpMyAdmin 管理 MySQL 用户);所有用户都必须是有效的 MySQL 用户。
配置:
现在phpMyAdmin除了提供手动方式的配置外还提供网页向导式的配置,只需要二选一即可:
向导配置:
由于安全原因,向导程序不会在安装目录下产生任何文件,配置完成后需要下载配置文件并放到phpMyAdmin的顶级目录内,开始前,如果已经通过手动配置产生了config.inc.php文件,需要先删除;访问phpMyAdmin目录下的setup子目录(url加上/setup/后缀),在各选项进行设置后点击应用,全部配置完成后回到概要页面,点击页面底部的显示按钮可以查看生成的配置内容,点击下载按钮,会下载一个config.inc.php文件,将他放入phpMyAdmin的顶级目录即可,如果以后不会再用向导程序,可以将setup目录删除。
手动配置:
在顶级目录下找到config.sample.inc.php文件,复制一份,改名为:config.inc.php,这就是我们要修改的配置文件,它是一个php程序文件,需要符合php语法,使用全局名字空间,里面的$cfg变量是全局配置变量;系统首先加载系统默认配置文件libraries/config.default.php,然后加载用户配置文件config.inc.php,所以用户配置文件的值会覆写默认配置,当不需要修改某默认配置值时,他们不需要出现在用户配置文件中,用户不要去修改系统默认配置文件,默认配置文件列出了所有的配置和其说明。
只需要进行基本配置就可以使用:
$cfg['Servers'][$i]['host'] = 'localhost'; //指定数据库地址
$cfg['blowfish_secret'] = 'l7-~r*K\'M=S/.B0{g{;?6,%EW7`Qyr'; //指定一个用于加密cookie的密码
将以上配置添加到config.inc.php文件的末尾保存即可,登录时输入数据库的用户名和密码;通常情况下我们只需要添加以上配置即完成配置。
下面列出更多常用配置:
$cfg['blowfish_secret'] = '1{dg0`<Q),5XP_:R9UKjhd%8\"EEsyH#{o'; //设置cookie加密密码,一定要自己改
$cfg['DefaultLang'] = 'zh_cn'; //使用简体中文,默认采用浏览器的语言
//以上是软件配置,以下是数据库服务器信息配置
$cfg['Servers'][$i]['verbose'] = '本地服务器'; //给数据库取一个名字,管理多个时便于识别
$cfg['Servers'][$i]['host'] = 'localhost'; //数据库地址,是必填的,默认为 'localhost'
$cfg['Servers'][$i]['port'] = '3306'; //端口号,默认3306
$cfg['Servers'][$i]['auth_type'] = 'cookie'; //网页登录的认证方式,默认为cookie,见下文
$cfg['Servers'][$i]['user'] = 'root'; //数据库用户名,根据认证方式而定,可省略该行,登录时会填写
$cfg['Servers'][$i]['password'] = 'mima'; //数据库密码,同上,不建议填写
$cfg['Servers'][$i]['AllowNoPassword'] = true; //是否允许空密码
//如果有多个数据库要管理可以追加以下配置,在登录页面会让用户选择
$i++; //该行一定不能被忽略
$cfg['Servers'][$i]['verbose'] = '第二个服务器';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'mima';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
更多配置请见下文或文档节指引
推荐配置:
以下列出我们最常用的配置,从本文档复制粘贴到config.inc.php末尾即可快速完成设置,方便开发者使用:
$cfg['blowfish_secret'] = '1{dg0`<Q),5XP_:R9UKjhd%8\"EEsyH#{o'; //设置cookie加密密码,一定要修改
$cfg['DefaultLang'] = 'zh_cn'; //使用简体中文,默认采用浏览器的语言
$cfg['LoginCookieValidity'] = 86400; //服务器保存的登录有效时间,默认为1440秒,这里设置为一天
/****以上为软件配置,以下为数据库配置****/
$cfg['Servers'][$i]['host'] = 'localhost'; //数据库地址,是必填的,默认为 'localhost'
文档地址:
点击https://www.phpmyadmin.net/docs/打开后可以看到英文版本的官方文档,此外在Localized Documentation下面有翻译版本的文档,点击Chinese (Simplified)可以打开简体中文的文档页面,但其中有部分并没有被翻译,不是太全,感谢参与翻译的人们,呼吁大家参与翻译;在文档里面介绍了phpMyAdmin方方面面的知识。
常用配置含义:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
可以选择以下值:
cookie:和常规网站登录一样,登录后用cookie作为身份认证
config:登录时不要求输入用户名密码,直接使用配置文件连接数据库,因此配置文件安全很重要
http:用http协议提供的认证方式,注销登录不方便,一般不使用
signon:使用第三方应用授权登录,需要设置其他选项来配合
在 HTTP 或 cookie 认证方式下,您不需要填写 $cfg['Servers'] 中的 user/password 设置。
$cfg['blowfish_secret']
在cookie认证方式中,用户名和密码被储存在cookie中,通过AES加密,用这个选项作为加密密码,应该使用32字符或更长的密码,但不强制,不足的话会导致弱安全,这个选项的命名有历史原因,最初phpMyAdmin是采用Blowfish 算法来加密的
$cfg['Servers'][$i]['socket']
连接到 MySQL 服务器您可以选择 'socket' 或 'tcp'。默认为 tcp,因为几乎所有的 MySQL 服务器都支持tcp,而有些平台是不支持套接字的。要使用套接字方式连接,您的 MySQL 服务器必须和网站服务器在同一台服务器上。
$cfg['Servers'][$i]['controlhost']
设置使用一个其它的主机来保存高级功能的数据,一般用不到。
$cfg['Servers'][$i]['verbose']
仅在通过 phpMyAdmin 管理多个服务器时有用。主页的下拉菜单中将用此值代替主机名,不提供则采用主机名
$cfg['LoginCookieStore']
设置cookie被浏览器保存的时间,默认为0,关闭页面即删除
$cfg['LoginCookieValidity'] = 1440;
在服务器上登录信息被保存的时间,超过将提示再次登录,默认为1440秒
更多选项请看:https://docs.phpmyadmin.net/zh_CN/latest/config.html
补充:
1、在使用phpmyadmin导出功能时,2不要选择“最大程度兼容数据库系统或旧版本的 MySQL 服务器”,否则不会导出数据库表结构,在V4.9测试被验证
交流互动