sochishun/mysqlartisan

Words fewer, Events greater! A powerful toolkit for MySQL! A swiss-knife for Project!

This package's canonical repository appears to be gone and the package has been frozen as a result.

v0.9.8 2021-11-10 03:03 UTC

This package is auto-updated.

Last update: 2023-12-14 13:34:39 UTC


README

简介

MySQLArtisan 是开源的基于 PHP 语言开发的在线管理 MySQL 数据库以及兼容 MySQL 协议的数据库(未来将支持 MariaDB、SQLite、OceanBase、TiDB 等数据库)的管理工具,它也是用于项目开发的高效敏捷的瑞士军刀。 MySQLArtisan 支持创建单文件绿色版 PHP 应用程序,和 phpinfo.php 一样简单方便地部署到项目中使用。它可以简单代替大名鼎鼎的 phpMyAdmin,解决了 phpMyAdmin 源码臃肿和功能用途单一的痛点。

项目仓库://sochishun/gitee.com/mysqlartisan

作者博客://sochishun.gitee.com/blog | https://www.cnblogs.com/sochishun

前言

项目开发用到 MySQL 数据库,在调试数据的时候,需要一款便携的可视化数据管理工具,可以很简单而高效地观察数据,减少很多重复而单调的体力劳动(高频敲重复代码、高频复制粘贴)。在网络找了一些 MySQL 管理工具,如大名鼎鼎的 phpMyAdmin,功能很强大,但部署很麻烦,很是重量级。而自己只需要简单查看数据或做一些简单的数据库增删改操作就可以了,网络上也有一些轻量型的在线数据库管理工具,但是要么感觉功能上不尽人意,要么已经多年没有维护,无法使用了。只是为了简单快速查看一下 MySQL 数据库中的数据,却要安装一大堆不需要的依赖文件,而且对服务器环境造成了二次污染,对于有代码洁癖的人来说真是受够了。求人不如求己,于是决定抽出一点时间,开发一个用起来顺手的轻量的 MySQL 管理小工具,力求简单而高效,功能尽可能覆盖项目调试的需求,不能因为轻量就做得很简陋,但是用户界面一定要简洁易用,至少自己用起来得心应手。而且这个小工具是要尽可能绿色单文件,尽量不依赖其他文件,然后是容易部署。 这样才能方便在项目中提高生产力!

MySQLArtisan 是由 MySQLAdminLite 5.x 重构而来,代码全部重写编写,并非修补版。MySQLAdminLite 创建之初只是单纯为了轻巧灵便和简单高效,所以对软件架构没怎么设计,后来随着功能需求的不断增加,代码逐渐变得臃肿而杂乱。于是 MySQLArtisan 应运而生。MySQLArtisan 为解决了 MySQLAdminLite 的痛点而生,其具有优良的软件架构和良好的编码规范,通过插件形式,可以十分方便地扩展出了很多高效实用的功能,从一个在线数据库管理小工具发展成了强大的项目开发的瑞士军刀,小巧灵活,简单好用。在项目前期,MySQLArtisan 可作为项目开发的实用脚手架,提供了十分方便的 dbinstall、db2mvc、apidocer 等快速搭建项目的开发三剑客,可以快速设计数据库、快速一键搭建基于UI365 的 MVC 应用,可以一键生成可在线调试的 ApiDocer 接口文档(类似 POSTMAN 的功能),可以一键生成类库手册,可以通过 TestingMonitor 插件快速调试数据,可通过 seed 命令快速生成海量的测试数据,神器在手,项目无忧。 (以上描述是本工具的开发理念和目标,目前有些功能由于精力限制尚未完成)

MySQLArtisan 对比 MySQLAdminLite 的重大变更有:

    1. 支持 composer 安装。
    1. 界面重构,UI 框架依赖 Bootstrap 5.x 和 jQuery 3.x,并将依赖配置的代码放在的显著的位置,方便修改。
    1. 界面重新布局,更合理,更清爽,更好用,并且完全适配了 PC 端和移动端。
    1. 增加控制台命令的用户交互设计,提升操作安全性。
    1. 重新设计插件架构,提供更多的实用插件。

单页应用程序的特性

    1. 单文件绿色版,部署超简单
    1. 支持分布式服务器环境下使用,支持用户登录验证、IP验证等多种权限验证功能
    1. 支持多个数据库服务器切换
    1. 支持查看所有数据库、表、存储过程、函数、视图等,支持查看数据表、视图、存储程序等对象结构
    1. 支持查看数据库引擎变量信息和数据表元数据信息
    1. 支持在线查看数据表结构模型,支持数据表结构模型导出为markdown文档,excel文档,html文档等
    1. 支持查询结果数据表格导出为 markdown 文档,excel 文档,sql 文档等
    1. 支持最新 MySQL8.x、支持兼容MySQL的其他数据库,例如:MariaDB、SQLite、OceanBase、TiDB 等
    1. 支持命令行环境使用,命令行环境支持数据迁移和测试数据生成以及数据库增删改查操作,支持导出文件,支持导入 SQL 文件

使用:

    1. 复制文件到您的项目中任意目录(本文件为单文件绿色版,方便使用.
    1. 修改配置内容为适合您需要的规则.
    1. 运行本文件, 开始数据可视化调试~

目录结构

名词解释:

repository: 仓库
assets: 附件
static: 静态资源
resource: 资源
mirror: 镜像
  • assets/ 附件目录(里面包含项目需要的各类模板文件)
    • plugin/ # 插件资源目录,里面存放各插件所需要的资源文件
      • {apidocer,db2mvc,dbinstall,feart}
    • static/ # mysqlartisan 网页文件依赖的UI框架文件的本地备份
      • {axios,bootstrap,vue}
    • template/ # 文件模板(核心所需的配置文件模板等)
  • docs/ # 教程文档目录
    • {content,demos,screenshots}
  • public/ # 测试用的应用入口目录(常见的对外访问目录)
  • runtime/ # 测试用的运行时临时文件目录
  • testing/ # 测试项目(就地测试,省得繁琐跳转目录)
    • tpadmin-v1/ # ThinkPHP 框架的实测项目
      • doclib/frontend/admin-vue-v1/ # Vue 框架的实测项目
    • laradmin-v1/ # Laravel 框架的实测项目
    • bootapi-v1/ # SpringBoot 框架的实测项目
    • app-uniapp-v1/ # Uniapp 框架的实测项目
  • src/ # 应用程序类库目录
    • lib/ # 核心类库目录
    • plugin # 插件类库目录
  • vendor # 测试用的第三方插件仓库(composer仓库)

.gitignore 文件内容

/vendor
/runtime
/.env.development
/.env
/composer.lock
/public/static
/testing

使用方法

使用 composer 命令安装

composer require sochishun/mysqlartisan

使用 composer 命令升级

composer update sochishun/mysqlartisan

部署步骤

  • 复制 vendor/sochishun/mysqlartisan/public/myart.phppublic 目录。命令:cp vendor/sochishun/mysqlartisan/public/myart.php public/myart.php
  • 修改 myart.php 文件中 $runtimePath 变量的值。(因为是作为项目脚手架使用,需要用到一些高级功能,所以要设置一个可用的运行时临时目录)
  • 执行初始化命令

    # 执行初始化命令并生成命令行速查手册(在 runtime 目录中创建相关子目录)
    php myart.php --help --output=y
    

网页访问方式:在浏览器打开网站文件 http://localhost/mysqlart.php

控制台访问方式:在控制台输入命令 php mysqlart.php --help

部署SPA单页应用文件

在控制台输入命令:php mysqlart.php buildspa --file="./public/mysqladminlite.php"

修改 mysqladminlite.php 的配置内容

// 数据库主机配置
$config['database']=[...]
// 会话账号权限配置
$config['auth']=[...]

上传 mysqladminlite.php 到服务器的网站根目录(一般是 public 目录)

在浏览器打开 http://xxx/mysqladminlite.php,即可愉快使用绿色版的MySQL管理工具。

版本历史

mysqlartisan

mysqladminlite 的全新重构版本,更好用,更强大,更轻便!目前正在开发收尾中~

mysqladminlite 5.0

更新:

== V5.0 正式版(2020-3-1)==

这是一次里程碑意义的重构版本, 界面焕然一新, 功能更加完善。

更新内容:

  1. 界面重构,大量使用选项卡组件,界面更整洁,体验更舒适;
  2. 增加phpinfo功能;
  3. 增加脚本性能计时器;
  4. 增加教程网站快捷导航;
  5. 增加数据表收藏夹功能,方便快速操作常用表;
  6. 重构PHP代码, 增加类的命名空间, 改善方法的专一性原则实践;

mysqladminlite 4.0

== V4.0 正式版(2020-2-15)==

更新内容:

  1. 增加了命令行功能,更方便,更好用
  2. 命令行功能支持:
    • a. 导出excel/html/sql格式的文件;
    • b. 导入SQL文件;
    • c. 执行SQL查询命令;
    • d. 查询数据库状态或变量;
    • e. 生成测试数据

mysqladminlite 3.0

== V3.0 正式版(2020-1-13)==

更新内容:

  1. 适配支持MySQL 8.0以上版本
  2. 表格、按钮、功能面板等界面美化
  3. 导出功能优化,改为面板式,使用更舒适; 新增导出到HTML文档功能
  4. 新增数据表的对象模型展示功能
  5. SQL编辑器示例语句模板新增数据表元数据查询命令

mysqladminlite 2.0

== V2.0 正式版(2017-10-20)== 更新内容:

  1. 导出功能新增导出到Excel文件和导出到SQL文件
  2. SQL编辑器支持delete,truncate等高危命令提醒,防止生产事故
  3. SQL编辑器支持{#object}变量,可自动替换为table,routine等,可以从sqlstmt解析对象名称
  4. SQL编辑器新增批量生成测试数据命令模板功能,支持批量生成测试数据
  5. 为适应负载均衡多台服务器分布式使用场景,登录会话保持由单机的session存储改为url参数token, 支持配置超时时间和自动续期时间,支持配置IP白名单
  6. 新增读取外部配置文件功能,外部配置文件的内容会自动覆盖内部配置内容
  7. 新增数据表快捷查询语句模板功能,打开指定数据表时,可以列出当前表预设的快捷查询命令,不用每次都敲很多命令代码

mysqladminlite 1.0

== V1.0 正式版(2017-8-24)== 基础功能:

  1. 程序使用左右分栏布局,左边侧边栏支持显示当前数据库中的数据表、视图、存储过程、函数等对象列表,右侧功能区包含SQL编辑器,查询结果显示,头部包含数据库元数据信息的展示,支持用户登录功能,防止非法使用
  2. SQL编辑器支持批量语句查询、执行功能
  3. 支持常用数据表操作示例语句模板,自动填入对象名称,方便快速编写脚本。示例语句模板包含create,alter,insert,update,delete,desc,truncate,index,count,drop等
  4. SQL编辑器点击3次自动去除单行注释,方便结合示例语句模板快速编写脚本
  5. 支持数据库表结构导出为Markdown格式文件
  6. 支持查询结果导出为Markdown格式文件
  7. 支持结果集表格隐藏指定列,方便直观查看数据
  8. 全局配置内容支持多个数据库服务器,支持服务器端口转发rinetd配置参数
  9. 全局配置内容支持生产环境和测试环境区分,在正式环境执行SQL编辑器命令需要输入验证码,防止生产事故

截图快照

5.x 版本

登录界面

login.png

主界面

main.png

查看数据库状态变量

main.png

优化建议

main.png

常用数据表收藏夹

main.png

4.3 版本

主界面

main.png

4.2 版本

主界面

main.png

在线查看数据库模型

model.png

导出数据库结构到markdown文件

dbexportasmd.png

导出数据库结构到excel文件

dbexportasexcel.png

导出数据库结构到sql文件

dbexportassql.png

导出查询数据到markdown文件

exportasmd.png

导出查询数据到html文件

model.png

导出查询数据到sql文件

model.png

自带常用的示例语句模板,拯救您的健忘症

egalter.png

自带生成测试数据命令模板

egseeder.png

支持外部配置文件

extconf.png

支持命令行使用,命令行支持数据结构导出、SQL文件导入、数据库增删改查、数据迁移、测试数据生成等实用功能

cmdwelcome.png

cmdhelp.png

cmdseedrun.png

cmddbselect.png

看到这么多实用的功能,有没有戳中你的舒适感呢~

以下是旧版本截图。对比界面可以看出 3.x 版本改进了很多,界面更美观,功能更丰富,欢迎您使用~

登录界面

login.png

主界面

main.png

查看数据库信息

info.png

SQL编辑器

editor.png

manysqls.png

显示查询结果

data.png

常用命令示例模板

examplesql.png

查看数据库创建命令

dbcreatesql.png

查询数据表字段元数据

fields.png

查看数据库变量信息

vars.png

灵活的配置内容

conf.png