高级玩家必备 – 使用phpMyAdmin管理群晖中的数据库
数据库,这个在我们工作中或日常生活随处可见的术语,对许多人来说依旧带着一层神秘的面纱。其实你正在浏览老宁的这篇文章,它就被保存在云端数据库中。
我们在使用群晖的 Container Manager 套件或 Docker 进行创建容器时,经常会遇到同时安装数据库容器的情况。隐隐中,我们可能认为不同的项目应该能够共享同一个数据库,但是由于缺少相关知识,又怕引起其他问题,就不了了之。
所以今天老宁将一步步带你认识群晖中的数据库,从更深层次教你使用群晖 phpMyAdmin 套件管理群晖中的数据库,以及多个项目如何共用一个数据库,让你在折腾群晖时更加顺畅。
什么是数据库?
数据库就像是一个大书架(表),你可以在上面整齐地摆放各种各样的书籍。每本书就像是一条数据记录,里面包含了很多信息,比如书名、作者、出版日期等。这些信息就像数据字段,它们告诉我们每本书的具体情况。
你可以想象,如果有很多这样的书架,每个书架上都有很多书,那么你需要一个系统的方法来找到你想要的那本书。这就是数据库的工作。它帮助你组织和分类所有的书籍,让你能够通过搜索书名或者作者等信息快速找到你需要的内容。
除了一些简单的,不需要使用数据库的应用程序外,大多数项目都需要使用数据库。比如前面介绍的兰空图床,它就用到了 MySQL 数据库。
当然数据库的种类也有很多,比如 MySQL、PostgreSQL、SQLite、Microsoft SQL Server、MariaDB、Redis、MongoDB 等等。
当我们在启动容器时,会拉取 image: postgres:15 这样的镜像,那就代表了该项目使用了 PostgreSQL 数据库。
群晖上提供了 MariaDB 套件,可以方便用户一键安装 MariaDB 数据库服务(MariaDB 最初是作为 MySQL 的一个分支,它们两者之间的兼容性非常高)。
MariaDB 安装方法非常简单。在套件中心搜索 MariaDB,点击安装按钮后,再输入密码和端口(3306被服务端口占用了)等待安装完毕即可。
一般情况下数据库的最高权限是用户都是:root,它可以访问数据库的任何表,并对它们进行增加、删除、修改、查询操作。如果想要把 MariaDB 数据库服务映射到外网,需要开启 TCP/IP 连接,并在路由器开启端口映射
想要查看和管理数据库中的数据,除了通过专业且复杂的命令行操作,更直观、简单的方式就是借助各类图形化界面管理工具了。
在众多数据库中,MySQL 是应用最广泛的一种。为了让大家在使用 MySQL 时更加得心应手,我们主要介绍群晖 DSM 内置的图形化管理工具:phpMyAdmin 套件。
phpMyAdmin 是一个用 PHP 编写的免费且开源的 Web 应用,它通过一个清晰易用的网页界面,让我们能够轻松地对 MySQL 和 MariaDB 数据库进行管理。
在群晖中安装 phpMyAdmin 和其他套件一样,只需在套件中心搜索即可安装。phpMyAdmin 套件需要依赖 Web Station 和 PHP 8,所以它们会被同时安装。
安装完毕后,需要新增网页服务门户,设置类型为基于端口,并配置端口号。(只要没被占用的端口都行)
在内网中可以直接通过【http://群晖:9200】访问 phpMyAdmin 后台管理界面,如果需要在公网进行访问,那么则需要配置反向代理或端口映射。
要对数据库进行管理,首先要登录到数据库。
在 phpMyAdmin 登录界面,输入用户名:root,密码为前面安装 MariaDB 设置的密码,就能登录到 MariaDB 服务。
登录成功后,在界面左侧可以看到 MariaDB 中所有的数据库。
右侧可以看到当前 MariaDB 的信息,包括类型、连接状态等信息。
如果要创建新的数据库,可以在数据库菜单中进行创建。
要对账户进行管理,可以在账户菜单新增账户或者对某账户授予特定的访问权限。
至于其他的操作,老宁就不展开细说了。
现在我们学会了通过 phpMyAdmin 管理群晖自带的 MariaDB 数据库。如果想要使用 phpMyAdmin 管理其他地方的数据库,比如 Container Manager 中的数据库,又该如何操作呢?
接下来以老宁写的兰空图床的配套安装的数据库为例。如果不知道如何安装 MySQL 数据库,可以参考这篇文章
首先我们要了解群晖的 phpMyAdmin 和 MariaDB 套件其实是两个东西,并不是说 phpMyAdmin 安装完毕后就能直接找到 MariaDB 数据库直接对它进行管理。
最重要的是 Web Station 套件中的 web_packages文件夹,它会将 Web Station 中的配置文件全部放在里面。而 phpMyAdmin 想要连接到 MariaDB 数据库,就是因为在synology_server_choice.json 文件中有相应的配置
当我们打开 synology_server_choice.json 文件后,就可以看到它是通过 Socket 方式进行连接的
这也就解释了前面在 MariaDB 套件中没有启用 TCP/IP 也能使用 phpMyAdmin 连接到 MariaDB 的原因,而使用 socket 连接数据库是不需要指定端口号的,所以在 MariaDB 中设置的端口号是为了使用 TCP/IP 连接。
根据前面的教程,我们在 Container Manager 中新建了一个 MySQL 数据库,端口为3306,网络模式为 bridge。
把 synology_server_choice.json 文件下载到本地电脑,在方括号中新增如下代码。
注意花括号之间需要用逗号隔开,host 为群晖的内网IP,port 为容器映射的端口号
保存并上传到群晖后,覆盖原有的 synology_server_choice.json 文件。重新打开 phpMyAdmin 登录界面就能看到有两个服务器,分别对应 MariaDB 套件和 Container Manager 中的 MySQL。
选择 MySQL 后,输入在创建容器时配置的 root 密码,可以看到名为 lsky 的数据库
每个数据库中都有许多的表,每个表中存储了大量的数据信息
最后来看看多个服务都需要数据库服务时,如何共用。
通过下面的 Docker 命令,我们知道这个镜像时需要用到数据库服务的。
原来在安装图床时,已经安装上启动了一个 MySQL 容器,再去重新安装一个 MySQL 是十分浪费性能的,所以直接共用原来的即可。
在配置容器时,我们只需要手动设置 DB_HOST、DB_PORT、DB_USERNAME、DB_PASSWORD 为已安装的 MySQL 服务器,再输入一个数据库名 firefly。
这样 firefly_iii 就能自己在 MySQL 中新增一个名为 firefly 的数据库以供自己使用。
如果要使用 MariaDB ,要怎么操作呢?还记得前面说到的 TCP/IP 和 Socket 吗?要使用 TCP/IP 方式进行连接,就必须要在 MariaDB 界面中勾选启用。
在使用 Docker Compose 文件的复杂项目中,往往也会拉取数据库镜像,我们可以通过修改其配置文件来达到共用数据库服务的目的。不过这个操作更加复杂,由于文章篇幅限制,我们后面再说。
一个热爱技术的程序员和极客,群晖NAS深度玩家!
专注NAS相关技术分享,原创!干货!
觉得老宁的文章对你有帮助,记得点赞、收藏、加关注!
Flask_admin—快速搭建访客登记系统Web管理后台
简介:在《App Inventor 2—自制身份证识别及人证比对验证系统》和《MySQL—访客登记系统数据库及Web服务搭建》的基础上,通过在云服务器上的Python程序中使用Flask_admin扩展,快速搭建数据库Web管理后台。通过整合上述实验,了解全栈开发的基本思路。
在《App Inventor 2—自制身份证识别及人证比对验证系统》中,我们通过App Inventor 2调用万维易源的API接口,实现了身份证OCR识别和人脸验证比对功能,制作了一个基本的安卓版人证比对验证系统。在《MySQL—访客登记系统数据库及Web服务搭建》中,我们在前期人证比对验证系统的基础上,通过在云服务器上搭建MySQL数据库及相关的Web服务API接口,将人证比对系统数据存储到数据库,从而将人证比对系统拓展为访客登记系统。在本章,我们将在上面两个实验的基础上,通过在云服务器上的Python程序中使用Flask_admin扩展,快速搭建数据库的Web管理后台,实现PC端浏览器对数据库的访问及管理。通过实验,初步了解全栈开发的基本思路,从手机端采集数据,到云端存储数据,再到PC端管理数据的实现路径。
1.实验目标
- 初步了解全栈开发的概念
- 学习实践Python的Flask_admin扩展库
- 学习实践云服务器的管理使用
- 学习实践创建虚拟数据进行模拟测试
2.实验所需资源
硬件:
- 电脑
本实验所用的台式电脑为Windows7操作系统。
- 手机
本实验使用手机为安卓系统。
- 云服务器(或本地服务器)
本实验使用的是阿里云入门级云服务器,配置为2 vCPU 2 GiB,操作系统为CentOS 7.9。
软件:
- 云服务器安装宝塔面板
本实验使用宝塔面板为LNMP环境。
- 电脑安装Mind+软件
本实验所用的Mind+软件版本为V1.8.0 RC1.1。
和前两个实验一样,本实验也需要有一定的基础知识,如MySQL数据库的基础知识,Python语言和Flask的基础知识,API接口的概念,Web请求的概念,常见的GET、POST请求的区别,请求和返回的数据类型,比如常见的JSON、字典、base64等数据类型的概念。
3.Python的Flask_admin扩展库简介
在之前的实验中,我们已经开发了采集数据的手机APP,还搭建了存储数据的云服务器MySQL数据库,但目前查看和管理数据还只能通过MySQL数据库管理工具phpMyAdmin进行管理,需要一定的专业知识,并且不利于数据安全,不适合于普通用户。针对此问题,我们需要一个PC浏览器能访问的数据库Web后台管理页面。按此前对Flask库的了解,我们可以通过搭建模型,编写视图函数,设计HTML模板的方式来从零搭建,但这个方法太过于费时费力,有没有更简单的方法?答案是肯定的,本次实验用到的Flask_admin就可以帮助开发者快速生成一个功能强大的数据库Web管理面板,进行数据的增删改查操作。它支持多种数据库和表单,具有高度的可定制性。
4.在云服务器上的Python程序中添加Flask_admin扩展相关代码
使用宝塔面板登录云服务器后,点击左侧“文件”菜单,在“/www/wwwroot/mysqlapi”路径下找到上个实验创建的“mysqlapi.py”文件,双击打开进行编辑。
如果只是简单的快速创建Web后台,针对这个项目,在导入Flask_admin模块后,只需在代码中添加下面这段代码就可以创建Web后台:
但为了进一步探索和了解Flask_admin的功能,我们在代码中使用了自定义模板、搜索、筛选等实用功能,在上一个项目的基础上,也只添加了少量代码,完整代码如下:
代码中已经包含详细的功能注释,不再展开说明。相较于简单的快速创建,这里对ModelView进行了自定义,搭配flask_babel翻译模块,实现了表头中文显示,表格内容搜索和筛选等功能。
5.重启网站中的Python项目,根据运行状态修改程序或添加模块
5.1 在上一步骤修改保存“mysqlapi.py”文件后,点击宝塔面板左侧的“网站”菜单,选择“Python项目”,重启正在进行的“mysqlapi”项目。
5.2 项目的运行状态可以通过“设置”里的“项目日志”进行查看,根据提示信息,检查修复Python程序。
5.3 如果日志提示缺少相应模块,可以通过项目操作栏的“模块”按钮,添加相应模块。此步骤需要反复操作直到程序正常运行。
6.通过浏览器访问Web后台
程序正常运行后,在PC上通过浏览器访问“http://*.*.*.* (你的云服务器网址):5000/admin”即可登录数据库管理后台。
7.创建虚拟数据进行模拟测试
至此,一个简单的访客登记系统,包括手机端、云端、PC端都已经具备。完整的测试应该是通过手机拍照识别并保存数据,然后在PC端访问Web后台查看数据。但由于项目的特殊性,需要较多的身份证和真人配合才能获得大量数据,目前暂时不具备这个测试条件。为测试数据库及API接口是否正常,我们将通过一段Python小程序创建虚拟数据进行模拟测试。
7.1 在Mind+(或任意Python IDE)选择“python模式”,在“代码”模式下新建一个python程序,名称随意,输入以下代码:
上面的Python程序通过Faker库生成数据库对应格式的虚拟信息,根据在云服务器上设置的API接口,通过requests库发送HTTP请求,将虚拟信息添加到MySQL数据库。在运行程序前,需要通过“库管理”,添加相应库到环境。准备就绪后,运行程序查看效果。
根据提示,程序已成功添加100条信息到云服务器上的MySQL数据库。
7.2 在PC浏览器再次访问“http://*.*.*.* (你的云服务器网址):5000/admin”查看虚拟数据是否正常。
100条虚拟数据已成功生成,可以直接在Web界面进行添加、修改、查询、修改操作进一步验证API接口和后台程序是否达到预期。
8.后记
近期的三个实验,搭建了一个包括移动端、云端、PC端的应用系统框架,不过也仅限于了解基本功能,起到学习了解技术栈的作用。每一个部分都还有较大的深化和优化的空间,需要一定的学习成本。但思路理清楚了,知道什么工具能实现什么功能,也可以少走一些学习的弯路。编程学无止境,围绕自己的需求,通过看书、看视频、AI搜索等渠道,不断探索,不断动手实践,总会有所收获。
WordPress怎么安装
根据用户选择的不同,会有不同的WordPress安装方案,本文为大家梳理了常见的主机托管安装、本地安装和手动安装这三种常见的WordPress安装方法,为大家更好的了解这三种方案的具体操作流程,接下来将为各位详细介绍。
本文以WordPress官方推荐主机托管商Bluehost为例,为大家演示WordPress的安装教程。
- Bluehost 在注册时自动在域名上安装 WordPress。要创建新的 WordPress 网站,只需单击 Bluehost 仪表板中的“我的站点”选项卡。然后单击“添加站点”按钮并选择“创建新站点”,这将启动 Bluehost 引导的 WordPress 安装向导。
- 首先它会要求用户提供网站标题和可选的标语,单击“下一步”按钮继续。之后Bluehost会要求为网站选择域名和路径,如果已经购买了域名,则可以从下拉菜单中选择它。
- 如果没有域名,那么可以通过访问 Bluehost 仪表板中的“域”页面来购买一个。
- 选择域名后,可以将目录路径留空,让 Bluehost 为用户选择,安装程序还将显示一些可能想要安装的必备 WordPress 插件。然后可以单击“下一步”按钮继续。
- 安装程序将设置 WordPress 网站,这可能需要一些时间,之后将看到一条成功消息,其中包含有关新 WordPress 网站的信息,Bluehost 还会将信息发送到用户的电子邮件地址。
- 要登录新站点的管理区域,只需单击 Bluehost 仪表板中的“我的站点”选项卡,然后找到网站并单击其“管理网站”按钮。
- 在下一个屏幕上,只需找到“登录 WordPress”按钮即可,这将进入网站的管理区域。
- 恭喜,现在已经在 Bluehost 托管帐户上安装了 WordPress。
XAMPP是一个跨平台软件,支持基于 Windows、macOS 和 Linux 的操作系统。所以本文将基于XAMPP安装WordPress的操作过程为大家进行演示。
1、下载 XAMPP
- 要开始使用 XAMPP 构建本地 WordPress 网站,请访问 Apache Friends 官方网站。
- 然后导航到单击此处获取其他版本以查看不同的下载选项。
- 选择与操作系统相符的 XAMPP 版本,本文此示例将使用 Mac OS X 的 XAMPP。
- 在该部分下,单击 More Downloads,这将进入 SourceForge,在那里可以获得最新版本 XAMPP 的可下载文件。
- 可以单击最新版本,然后找到以 DMG 或 EXE 结尾的文件。macOS 用户需要 DMG 文件,而 Windows 用户应该下载 EXE 文件。
2、从组件列表中选择
- 下载正确的 XAMPP 文件后,双击其图标以打开安装程序,将能够完成分步设置向导。
- 首先选择要安装的组件。
- 当单击特定组件时,将看到其他功能,例如程序语言和服务器类型。
- 要在本地安装 WordPress,只需访问 Apache、MySQL、PHP 和 phpMyAdmin。虽然可以选中额外的组件,但这些步骤不需要它们。
- 完成后,单击下一步,这将开始 XAMPP 核心文件的自动安装。
3、启动控制面板并测试服务器
XAMPP 下载完成后,将能够访问控制面板。请务必单击 Manage Servers 选项卡以查看 Apache Web Server、ProFTPD 和 MySQL 数据库的状态,如果其中任何一个是红色的,请单击全部开始or全部重新启动。
要检查您的服务器是否正在运行,请在浏览器中搜索 http://localhost。这将打开一个 XAMPP 欢迎页面,其中包含应用程序、PHP 信息和您的 phpMyAdmin。
4、下载 WordPress 并将文件夹添加到 XAMPP
在创建数据库之前,需要下载 WordPress。转到 WordPress.org 网站并下载最新版本,解压缩 WordPress 文件夹并复制它。
然后导航到 XAMPP 文件夹并找到 htdocs 文件夹,将 WordPress 文件夹粘贴到那里。
用可识别的标题重命名 WordPress 文件夹,例如“mytestingsite”。
5、创建数据库
现在返回到 http://localhost 的 XAMPP 信息页面,在右上角,单击 phpMyAdmin。
选择 Databases 选项卡并创建新数据库,可以使用所需的任何名称,但请确保第二个下拉菜单标记为 Collation:
单击 Create 后,将能够访问您的新测试站点。
6.、前往测试站点
- 最后在本地主机上完成安装 WordPress,打开一个新的浏览器窗口并搜索 http://localhost/mytestingsite。请务必将 “mytestingsite” 替换为您之前选择的名称。
- 在此页面上,WordPress 将提供创建测试站点所需的信息列表,这包括数据库名称、用户名、密码、主机和表前缀。
- 单击 Let\’s Go! 按钮,需要输入数据库连接详细信息。只需添加在 phpMyAdmin 中创建的数据库名称,然后输入 “root” 作为用户名,并将密码空间留空。
- 对于 Windows 和 Linux 用户,WordPress 会自动将此信息存储在 wp-config.php 文件中。但是macOS 用户将看到可用于自行创建此文件的手动代码。
- 为此请转到原始 WordPress 文件夹并找到 wp-config-sample.php 文件,然后使用文本编辑器(如 TextEdit)打开它。
- 复制 WordPress 提供给代码并将其粘贴到文件中,然后将文件重命名为 “wp-config.php”。
- 最后将文件移动到根目录中,完成后可以继续进行 WordPress 安装。
- 在下一页上,输入测试站点的标题。然后创建一个用户名、密码和电子邮件地址以进入WordPress,最后选择 Install WordPress (安装 WordPress)。
- 要登录本地 WordPress 站点,请转到 /localhost/mytestingsite/wp-admin,请使用刚刚创建的登录凭证。
如果以上方法失败或托管服务提供商缺少自动安装程序,可以手动安装 WordPress。
1、下载 WordPress
下载 WordPress 包到本地计算机。
2、创建 MySQL 数据库和用户
转到高级工具,单击 MySQL 数据库,单击“添加数据库”并填写数据库名称、用户名、密码和确认密码。
3、将 WordPress 上传到托管帐户
在文件管理器上创建一个文件夹,希望在其中放置 WordPress,上传 WordPress 文件。
4、提取 WordPress 文件
转到高级工具,单击 Archive Gateway,选择为 WordPress 创建的文件夹,然后单击Extract/Uncompress(提取/解压缩)。
5、配置 wp-config.php
wp-config-sample.php 文件包含数据库信息,并告诉 WordPress 应用程序从哪个数据库中提取数据。必须完成此步骤,以确保正确的数据库信息与 WordPress 安装相关联。wp-config-sample.php 文件可以在 WordPress 安装文件夹中的文件管理器中找到。
转到高级工具, 单击文件管理器,从文件管理器的左侧导航菜单中,单击为 WordPress 文件创建的文件夹, 在文件管理器的右侧面板中,找到wp-config-sample.php文件。
双击要重命名的文件名,将文件名更改为 wp-config.php,然后单击按钮保存更改,单击wp-config.php右侧的绿色铅笔图标,将出现第二个弹出框,文件打开后,查找以下信息:
define(\’DB_NAME\’, \’database_name_here\’);
/** MySQL database username */
define(\’DB_USER\’, \’username_here\’);
/** MySQL database password */
define(\’DB_PASSWORD\’, \’password_here\’);
/** MySQL hostname */
define(\’DB_HOST\’, \’localhost_here\’);
- 将 database_name_here 替换为创建的数据库的名称(如上面的步骤 2:创建 MySQL 数据库和用户⤴)。
- 将 username_here 替换为创建的数据库的用户名。
- 将 password_here 替换为创建的数据库的密码。
- 将 localhost_here 替换为 MySQL 右侧面板上的 MySQL 服务器名称。
完成后,单击 Save 按钮保存更改。
6、运行安装
打开一个新的浏览器窗口并输入域以运行安装脚本,根据安装脚本的位置,将被自动重定向到以下任一 URL:
如果将 WordPress 上传到域的根文件夹,应该被重定向到:https://example.com/wp-admin/install.php
如果将 WordPress 上传到域目录的子文件夹,则 URL 将采用以下格式:https://example.com/yoursubfolder/wp-admin/install.php
注:请务必将上面示例中的 example.com 替换为实际域名。
- 在浏览器中访问正确的 WordPress URL 后,将看到一个 WordPress 设置页面,选择首选语言,选择首选语言,然后单击 Continue 按钮。
- 输入站点标题并设置用于登录 WordPress 管理区域的用户名、密码和电子邮件地址。如果不希望搜索引擎将 WordPress 网站编入索引并使其在搜索结果中可见,请选中搜索引擎可见性选项。
- 点击 Install WordPress 开始设置过程,安装完 WordPress 后,一个弹出窗口会重定向到登录页面,输入凭据并点击登录访问管理员仪表板。
- 有时WordPress 可能会在选择语言后要求收集 MySQL 数据库信息,由于已经拥有它们,请按 Let\’s go!,然后按照以下说明操作:
- 输入 MySQL 数据库详细信息,但保留 Database Host 和 Table Prefix 字段不变,仅当想使用一个数据库运行多个安装时,才更改它们,单击 Submit。
- WordPress 将检查它是否可以连接到 WordPress 数据库。完成验证过程后,选择 Run the installation(运行安装)。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。