缘由
我们程序员难免要和数据库打交道,经过这几年的锻炼,感觉手写SQL语句已经忘记的差不错了,促使我一定要这篇文章的原因是,有一次晚上我更新某个系统的数据库的表(由于目前公司比较严格,数据库都只能通过命令行访问,无法通过GUI工具操作),然后由于where 条件写错了,然后数据更新错了不少。痛定思痛:用好的工具来避免这种情况,那就是phpMyadmin
phpMyadmin
phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性
没错解释我是找 某搜索引擎的。 其实我给大家简单解释下:phpMyadmin 使用用php写的,可以通过Web界面访问Mysql数据库的,为我们研发操作数据库提供的不少方便的
下载
去官网地址 https://www.phpmyadmin.net/ ,目前最新版下载链接
https://files.phpmyadmin.net/phpMyAdmin/4.7.2/phpMyAdmin-4.7.2-all-languages.zip
配置Nginx
前提条件
phpmyadmin解压之后路径:/home/vagrant/download/phpmyadmin
本文使用Nginx作为WebServer,使用Apache的请自行找解决办法
需要已经配置好php的运行环境,个人使用php-fpm
nginx软件路径:/etc/nginx ,虚拟主机路径:/etc/nginx/conf.d
配置内容
phpmyadmin.conf(完整路径:/etc/nginx/conf.d/phpmyadmin.conf)
server { charset utf-8; listen 80; server_name phpmyadmin.local; root /home/vagrant/download/phpmyadmin; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php5-fpm.sock; try_files $uri =404; } }
配置Hosts
127.0.0.1 phpmyadmin.local
访问
配置phpMyadmin
单Mysql实例配置
1)phpMyadmin源码路径:/home/vagrant/download/phpmyadmin
2)进入/home/vagrant/download/phpmyadmin/libraries,找到config.default.php 文件,打开这个文件,找到
#找到这行代码 大概117行,将localhost改成你想访问数据库实例的ip,例如127.0.0.1 $cfg['Servers'][$i]['host'] = 'localhost'; #找到这行代码 大概124行,port 默认不写时3306端口,如果你的数据库实例端口变了自己更改 $cfg['Servers'][$i]['port'] = ''; #找到这行代码 大概524行,将false 改为 true,表示允许空密码登录(在生产换行数据库一定要设置为false) $cfg['Servers'][$i]['AllowNoPassword'] = false;
如果AllowNoPassword没有设置为True,当密码为空的时候就会出现下图提示
多Mysql实例配置
多数据库实例 其实和单数据库是一样的,本身phpMyadmin就支持
#在 /home/vagrant/download/phpmyadmin 下有一个 config.sample.inc.php ,复制一个文件名是config.inc.php #编辑config.inc.php,找到First server,将如下代码放在后面,最后结果如截图 $hosts = [ 1 => [ 'host' => 'localhost','user' => '','password' => '' ], 2 => [ 'host' => '192.168.22.21','user' => '','password' => '' ], ]; foreach( $hosts as $host_idx => $host_item ){ /* Authentication type */ $cfg['Servers'][$host_idx]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$host_idx]['user'] = $host_item['user']; $cfg['Servers'][$host_idx]['password'] = $host_item['password']; $cfg['Servers'][$host_idx]['host'] = $host_item['host']; $cfg['Servers'][$host_idx]['compress'] = false; $cfg['Servers'][$host_idx]['AllowNoPassword'] = true; }
config.inc.php截图
效果截图,是不是很酷,哈哈
最后
其实Mysql GUI工具太多了,但是在网页上做的比较好的就是phpMyadmin,在客户端软件方面 可以推荐大家试试 navicat,sequel pro(Mac)