Wishlist 0 ¥0.00

如何使用Joomla中的用户操作日志

在过去的几年里,Joomla中我最喜欢的新功能之一是“用户操作日志”。它允许你审计用户活动。这个核心扩展允许你跟踪谁在你的网站上做了什么。你可以跟踪谁登录了,谁创建了文章,谁安装了扩展等等。

在这篇博客文章中,我将向您介绍用户操作日志功能。


步骤1.开始之前

要使此功能正常工作,请检查是否启用了所有必需的扩展。

  • 在您的Joomla控制面板中,转到“扩展”〉“管理”〉“管理”。
  • 在“搜索”框中输入“action”,不带双引号。确保所有操作插件和管理员模块都已启用:

enable required plugins and module


步骤#2.选择要记录的扩展

  • 转至“用户”,然后转至“用户操作日志”。
  • 单击“选项”。

go to users user actions log

在此区域中,您可以选择日志的设置。您可以选择:

  • 是否记录用户IP地址。
  • 在数据导出CSV文件中使用的分隔符。
  • 哪些组件应记录事件。

目前,只有Joomla核心扩展的事件被记录下来。然而,我怀疑Joomla扩展的开发者(包括Joomlashack)会开始集成用户操作日志,所以你很快就能记录更多的事件。

select the log options


步骤3.检查用户操作日志

配置日志记录后,现在可以开始查看结果了。

  • 转到“用户”〉“用户操作日志”。
  • 您将在此处看到当前记录的活动列表:

take a look at user actions log

您的“用户操作日志”表将由五列组成。让我们从左到右看一下它们。

在“操作”栏中,您会看到用户活动的简要描述。如下图所示,描述中会包含执行该操作的用户的登录名(用户名)。对于一些Joomla扩展,描述中还会包含所涉及的项目的名称。

the action columns

在“扩展”列下,您将找到与活动关联的扩展的名称:

extension column

“日期”列显示了用户的行为发生在多久以前。在大多数Joomla行政区域,我们看到的是日历日期。然而,在这种情况下,我认为“时间以前”的格式要有用得多。

the date column

“名称”列显示已记录其活动的用户的名称。

name

“用户操作日志”屏幕也有三个过滤器,使您能够更有效地浏览列表:

  • “扩展”筛选器
  • 日期筛选器
  • “用户”筛选器

the logs filter


步骤4.管理用户操作日志

您可以在“用户操作日志”上执行以下四项管理任务:

  • 删除选定的操作。
  • 一次单击即可清除所有操作。
  • 将所选操作导出为CSV文件。
  • 将整个日志导出为CSV文件。

对于其中的每项任务,您将在顶部工具栏上看到相应的按钮:

top toolbar


步骤5.设置电子邮件通知

如果您是超级用户,您可以从用户操作日志中获取通知。当您以超级用户身份登录时,转到您的配置文件页面,您将看到此新选项卡,其中包含以下选项:

email notifications

MySQL为什么莫名其妙的断开连接以及解决方案

前言

最近遇到在将本地的项目部署到服务器上之后遇到的一个奇怪问题

在部署完成后,网站当时可以正常工作,但是第二天访问网站的时候却会遇到一个500 Server Error。

从日志中可以看出是MySQL数据库出现了异常

翻译:

最后一个数据包在 83827560 ms 之前被成功接收,最后一个数据包在83827560 ms 之前被成功发送。比服务的配置参数wait_timeout的值要长。

日志中给出的建议如下

翻译:

你应考虑在程序中进行数据库操作之前检验数据库连接的有效性或者将数据库的autoReconnect属性设置为true来避免这个问题

关于wait_timeout和autoReconnect下面我们会依次分析介绍

原因分析

我们进入mysql的命令行查询超时时间

28800单位是秒转化成小时就是8小时

看出MySQL的默认设置,当一个连接的空闲时间超过8小时后,MySQL就会断开该连接

所以发现问题出在如果超过这个wait_timeout时间(默认是8小时)对数据库没有任何操作,那么MySQL会自动关闭数据库连接以节省资源

数据库连接自动断开的问题确实是在第二天发生了,也就是在一个晚上没有对数据库进行操作(显然超过了8小时)的情况下发生的这个问题

大家用命令show processlist; 可以查看Sleep状态的进程Sleep,同时可以看到每个进程Sleep多久了:

下面介绍下解决和优化办法

解决方法

1.autoReconnect

这个参数表示在mysql超时断开连接后会自动重新连接

配置的话,只需要在连接mysql的语句写上autoReconnect=true

下面是MySQL官网对autoReconnect的解释:

同时可以看到官网不推荐使用这个参数,因为它有一些副作用

具体介绍下:

  • 原有连接上的事务将会被回滚,事务的提交模式将会丢失
  • 原有连接持有的表的锁将会全部释放
  • 原有连接关联的会话Session将会丢失,重新恢复的连接关联的将会是一个新的会话Session
  • 原有连接定义的用户变量将会丢失
  • 原有连接定义的预编译SQL将会丢失
  • 原有连接失效,新的连接恢复后,MySQL将会使用新的记录行来存储连接中的性能数据

2.修改配置

涉及到两个配置参数interactive_timeout和wait_timeout

wait_timeout指的是mysql在关闭一个非交互的连接之前所要等待的秒数

interactive_time 指的是mysql在关闭一个交互的连接之前所要等待的秒数

对于交互和非交互连接,说得直白一点就是,通过mysql客户端连接数据库是交互式连接,通过jdbc连接数据库是非交互式连接。

配置方法:

1.会话方式

这种方式只对当前会话生效

2.修改配置文件方式

修改/etc/my.cnf文件,在 [mysqld] 节中设置:

之后再重启下服务器就好了

注意:

wait_timeout这个值设置得大了,可能会导致空闲连接过多。

如果你的MySQL Server有大量的闲置连接,他们不仅会白白消耗内存,而且如果连接一直在累加而不断开,最终肯定会达到MySQL Server的连接上限数,这会报’too many connections’的错误。

连接池配置

因为连接池的配置也会影响项目和MySQL的连接,所以也需要对数据库连接池的一些配置做一定修改

我们以Spring Boot 2.0默认的数据库连接池HikariCP为例

主要是下面这几个配置

maximum-pool-size:

最大连接数,超过这个数,新的数据库访问线程会被阻,缺省值:10。

常见的错误是设置一个太大的值,连接数多反而性能下降。

参考计算公式是:

例如:一个4核,1块硬盘的服务器,连接数 = (4 * 2) + 1 = 9,凑个整数,10就可以了。

minimum-idle:

最小的连接数目

max-lifetime:

最大的连接时间,用来设置一个connection在连接池中的存活时间

缺省:30分钟。强烈建议设置比数据库超时时长少一点(MySQL的wait_timeout参数一般为8小时)。

idle-timeout:

一个连接idle状态的最长时间,超时则被释放

其他参数详见:https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing

HeidiSQL安装和使用教程

HeidiSQL是一款免费开源的MySQL 服务器和数据库管理的图形化界面,HeidiSQL过去是一个MySQL的前端,采用 Delphi 开发,支持 Windows 操作系统。要通过HeidiSQL来管理数据库,用户应该用有效地凭证登陆到MySQL服务器,创建一个会话。HeidiSQL和其他可视化管理软件相比,优势在于提供了数据库的统计信息汇总以及数据库维护的界面操作,大大方便了管理员监控数据库状态。

工具/原料

  • Windows操作系统
  • MySQL数据库

方法/步骤

  1.  

    HeidiSQL 是一个功能非常强大的 MySQL 客户端软件,我们通过它来操作MySQL数据库,比直接通过命令行工具操作要简单的多。我们使用HidiSQL来连接MySQL数据库,MySQL数据库的安装可以参考下文。

  2.  

    百度搜索HeidiSQL的官网,点击Downloads—>HeidiSQL 9.4 Installer,官网已经有中文汉化版本的了,在安装完打开后界面菜单均为中文。下载后的文件名为HeidiSQL_9.4.0.5125_Setup.exe,右键安装。

    HeidiSQL安装和使用教程
    HeidiSQL安装和使用教程
  3.  

    点击右键安装后进入下图的安装界面,我们可以看到HidiSQL支持MySQL,SQL Server,PostgreSQL,点击next后-->选择I accept the agreement-->选择安装的目录(也可以使用默认)。

    HeidiSQL安装和使用教程
    HeidiSQL安装和使用教程
    HeidiSQL安装和使用教程
  4.  

    在安装过程中会出现如下的步骤:创建开始菜单,创建桌面快捷方式,关联.SQL”文件,自动更新,自动报告连接和版本信息等。在安装页面点击Install-->完成后点击Finish即可。

    HeidiSQL安装和使用教程
    HeidiSQL安装和使用教程
    END

HidiSQL的使用

  1.  

    安装完成后打开HidiSQL,进入到如下页面。点击新建后,选择在根分类创建会话即可创建Session。

    HeidiSQL安装和使用教程
  2.  

    左侧在会话名称下出现的Unnamed,右键选择Rename即可重命名,本文操作中将其命名为localhost。右侧输入主机名(默认本机127.0.0.1),用户名(默认root)和密码,点击“打开”按钮即可连接。不用忘记点击“保存”按钮,下次连接便可不用输入密码。

    HeidiSQL安装和使用教程
    HeidiSQL安装和使用教程
  3.  

    打开后的界面如下图所示,其中test和student为自己创建的库和表。

    HeidiSQL安装和使用教程
  4.  

    HeidiSQL 在任何地方都可以点击 Query 直接进入查询编辑界面,我们在查询编辑界面输入sql语句,点击“执行”按钮即可,下方便会出现执行结果,或正确或错误。

    HeidiSQL安装和使用教程
  5.  

    上文在数据库test中创建teacher表,在创建完后,在test库上右键“刷新”,teacher表便出现了。

    HeidiSQL安装和使用教程
  6.  

    在菜单栏点击“文件”-->“退出”或右上角的红叉,弹出提示是否保存查询的内容,选择“是”-->选择文件保存的路径即可。本文选择放在桌面,桌面便出现了teaacher.sql。

    HeidiSQL安装和使用教程
    HeidiSQL安装和使用教程
    HeidiSQL安装和使用教程
    END

注意事项

  • 在连接数据库的时候要确保MySQL数据库的用户名和密码是正确的

HeidiSQL使用教程

    点击新建后,选择在根分类创建会话
    在这里插入图片描述

2、左侧在会话名称下出现的Unnamed,右键选择Rename即可重命名。右侧选择数据库类型(mysql),输入主机名(默认本机127.0.0.1),用户名(默认root)和密码,点击“打开”按钮即可连接。点击“保存”按钮,下次连接便可不用输入密码。
在这里插入图片描述
3、打开后的界面如下图所示,在右边可以看到数据库的基本信息
在这里插入图片描述
4、点击查询直接进入查询编辑界面,我们在查询编辑界面输入sql语句,点击“执行”三角形按钮即可,下方便会出现执行结果,或正确或错误。
在这里插入图片描述
5、导出MySQL数据:首先,选择你要导出的数据库,点击鼠标右键,选择“导出数据脚本”
在这里插入图片描述
6、选择要导出的数据库的某些内容进行选择导出
在这里插入图片描述
7、数据里面各个选项的参数说明:
在这里插入图片描述
No Date:不导出数据,只有数据表结构
Delete+Insert(……):清空数据表内容并且插入导出的新内容
Insert:只插入新内容
Insert Ignore:插入数据忽略掉错误内容
Repalce:替换插入
8、输出里面各个选项的参数说明:
在这里插入图片描述
Single big file:导出一个SQL的文件
Diretcoty……:每个表一个单独的文件,存放到特定的文件夹中
Clipboard:导出到剪切板
Database:导入到另外一个数据库中
9、选择你要保存的路径,点击导出即可导出数据
在这里插入图片描述
10、导入MySQL数据:在主页面右键,点击“加载SQL文件”
在这里插入图片描述
11、找到需要导入进来的SQL文件路径,点击打开即可
在这里插入图片描述
乱码解决
只需要在软件成功连接到Mysql服务器后,把以下代码复制到查板面板中右键点运行或按F9键即可
SET character_set_client = gbk;
SET character_set_connection = gbk;
SET character_set_results = gbk;

 
 

 

 

About Us

Since 1996, our company has been focusing on domain name registration, web hosting, server hosting, website construction, e-commerce and other Internet services, and constantly practicing the concept of "providing enterprise-level solutions and providing personalized service support". As a Dell Authorized Solution Provider, we also provide hardware product solutions associated with the company's services.
 

Contact Us

Address: No. 2, Jingwu Road, Zhengzhou City, Henan Province

Phone: 0086-371-63520088 

QQ:76257322

Website: 800188.com

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.