来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)
MOP 不用多说,指的就是 MySQL、Oracle、PostgreSQL 三种目前最主流的数据库,MOP 系列打算更新 MOP 三种数据库的索引知识、高可用架构及常用 SQL 语句等等,上面已经更新了 MOP 索引相关的文章,今天打算整理一下这三种数据库的常用 SQL 知识,由于文章过长,今天更新中间的一篇之 MySQL 篇。第一篇 Oracle 相关的详见下方链接:MOP 系列|MOP 三种主流数据库常用 SQL(一)。第二篇 MySQL 常用 SQL详见下方链接:MOP 系列|MOP 三种主流数据库常用 SQL(二)。
查看运行日志的相关配置,运行日志包括Error信息,定位慢查询SQL,数据库的启动关闭信息,checkpoint过于频繁等的告警信息。
表示删除 00000001000000000000001F 之前的所有日志
pg_wal日志没有设置保留周期的参数,即没有类似mysql的参数expire_logs_days,pg_wal日志永久保留,除非shell脚步删除几天前或pg-rman备份时候设置保留策略
取消正在长时间执行的SQL命令的方法有以下两种。 ·pg_cancel_backend(pid):取消一个正在执行的SQL命令。 ·pg_terminate_backend(pid):终止一个后台服务进程,同时释放此后台服务进程的资源。
这两个函数的区别是,pg_cancel_backend()
函数实际上是给正在执行的 SQL 任务置一个取消标志,正在执行的任务在合适的时候检测到此标志后会主动退出;但如果该任务没有主动检测到此标志就无法正常退出,此时就需要使用 pg_terminate_backend
命令来中止SQL命令的执行。
通常先查询 pg_stat_activity
以找出长时间运行的 SQL 命令
然后再使用 pg_cancel_backend()
取消该 SQL 命令,如果 pg_cancel_backend()
取消失败,再使用 pg_terminate_backend()
,命令如下:
使用 alter system 命令将修改 postgresql.auto.conf 文件,而不是postgresql.conf,这样可以很好的保护 postgresql.conf 文件,假如你使用很多alter system 命令后搞的一团糟,那么你只需要删除 postgresql.auto.conf,再执行pg_ctl reload 加载 postgresql.conf 文件即可实现参数的重新加载。
如果修改了配置文件“postgresql.conf”后,要想让修改生效,有以下两种方法。 方法一:在操作系统下使用如下命令:
pg_ctl reload
方法二:在psql中使用如下命令:
osdba=# select pg_reload_conf();
注意,如果是需要重启数据库服务才能使修改生效的配置项,使 用上面的方法无效。使用上面的方法能使修改生效的配置项都是不需要重启数据库服务就能使修改生效的配置项。
全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~