江湖面板-数据库

12006

在这一课里,我们主要学习如何用江湖面板的“MySQL”界面,对服务器数据库进行管理。

1. 启动或关闭MySQL

在江湖面板左侧,点击“MySQL”,打开MySQL管理界面。

江湖面板MySQL管理界面.png

你可以在这里查看MySQL数据库的运行状态,并且可以停止、启动或者重启MySQL服务器。

2. 认识MySQL插件的管理界面

  • 自启动:设置MySQL开机自启。一般默认开启。
  • 配置文件:面板的MySQL插件中大部分配置都可以通过界面来修改,也支持直接修改配置文件,在配置文件中,可以直接编辑配置文件,建议熟悉MySQL配置的用户使用。
  • 存储位置:MySQL插件默认的存储位置为/www/server/mysql-apt/data,建议使用默认配置。
  • 端口:MySQL插件默认的端口为33067,修改端口后如果需要在本地电脑的navicat中连接MySQL,需要在在面板的“安全”和服务器的“防火墙”配置中开放对应端口
  • 当前状态性能优化:MySQL插件提供了查看MySQL当前状态和修改参数配置以优化性能的功能。详细讲解参见304高级培训-MySQL优化指南
  • 日志慢日志:MySQL插件支持日志、慢查询日志查询。这些日志可以帮助管理员及时发现和解决数据库问题。
  • 管理列表:详见下一节

3. 数据库管理列表

在MySQL管理界面,点击“管理列表”,可以看到服务器上的所有数据库。在这个界面中,我们可以对管理数据库的root用户、添加数据库,或者对单个数据库进行备份、权限配置、改密和删除等操作。

Untitled.png

如果这个列表是空的,你可以点击“从服务器获取”按钮,来获得最新的MySQL服务器中的数据库。

4. 数据库用户、密码与权限

MySQL插件支持创建多个用户和数据库,可以为不同的用户设置不同的权限。一般来说,只有管理员才能创建和删除用户和数据库,其他用户只能访问自己拥有的数据库。

你可以通过面板的MySQL插件-管理列表来配置对应权限。

管理root用户和密码
在MySQL的“管理列表”中,你可以点击“root密码”,来查看或者修改root用户的密码。

单个数据库的用户和密码
除了root用户以外,每个数据库也可以有对应的用户。通常,这一类的用户的权限只能访问自己拥有的数据库里的数据,对其他的数据库则没有权限。

你可以在面板的MySQL插件-管理列表 中,选择一个数据库,进行修改权限和修改密码的操作。

JianghuJS数据库用户权限规范

在部署JianghuJS项目时,我们通常要求各个项目只能使用对应数据库的用户及密码来连接数据库,除非必要不能使用root用户。这种做法的好处是避免未经授权的数据库访问,增强应用的安全性。

如果某个JianghuJS项目中需要读写其他数据库的数据,可以按照以下的原则进行:

  • 在项目数据库中,将目标数据库中需要读取的数据表建立为视图。
  • 读取数据:可以直接读取视图中的数据。
  • 写入数据:如果需要通过视图来插入、更新或者删除目标数据库中的数据,可以为项目数据库的用户,添加对目标数据库的相关权限。这样就可以写入数据了。

5. 数据备份

定期备份数据库是保障数据安全的必要措施。这可以帮助您在数据出现意外删除、硬盘故障、黑客攻击等情况下快速恢复数据。

江湖面板提供了数据库备份功能,可以轻松地备份和恢复数据库。

手动备份: 在「数据库」页面中选择要备份的数据库,点击「未备份」按钮,然后在弹出的窗口中选择需要备份的数据选项并点击「备份」按钮即可。

Untitled 1.png

你也可以使用江湖面板的Xtrabackup插件,以全量或者增量的方式,来备份数据库的内容。详细内容见:

6. 数据库日志

数据库日志是记录数据库操作和状态的一种机制。它可以用于故障排查、性能分析和数据恢复等方面。数据库日志可以记录写入、更新、删除等操作,并且可以记录每次操作的时间、用户、执行结果等信息。在江湖面板中,你可以查看数据库的日志信息以了解数据库的操作情况和状态。

进入江湖面板后,点击左侧栏目「MySQL」菜单,「日志」,来查看数据库的日志文件。

Untitled 1.png

7. 数据库安全

除了定期备份外,还需注意数据库的安全,比如设置数据库密码、控制用户访问数据库的权限、限制远程访问等。

  • 设置数据库密码:创建数据库时必须设置数据库密码,并且密码需要足够复杂,以增加防护能力。
  • 控制用户访问数据库的权限:在MySQL服务器中定义合理的用户权限,确保只授权给有资格的用户访问指定数据库的权限,并指定允许的数据库操作,同时令所有未被授权的人员无法访问数据。
  • 限制远程访问:通过设置数据库的防火墙规则,限制只有特定IP地址的主机能够访问该数据库,从而加强数据库的访问安全性。

8. 使用Navicat For MySQL管理数据

  • 确保服务器对外开放MySQL端口(在MySQL插件-端口中获取),一般有两个地方需要确认,一个是服务器的面板-安全中是否开放,另一个是服务器提供商对应的防火墙设置中也需要开放
  • 确保对应的数据表对外开放访问权限:点击MySQL插件-管理列表
    • 对单个数据库的对外开放:点击需要开放的数据库的权限,设置访问权限为“所有人”(推荐只开放单个表权限)
    • 对root账户的对外开放:点击上方“ROOT权限”按钮,设置访问权限为“所有人”(不推荐)
  • 安装并启动Navicat For MySQL,使用 服务器IP:33067 连接服务器数据库

作业

根据本文内容,完成下面作业

  • 尝试修改下数据库 root 密码
  • 使用面板,创建一个 “jianghu” 的数据库
  • 使用Navicat For Mysql连接数据库,添加一个student表,并在student表中添加一条数据
  • 对 “jianghu” 数据库进行备份