termux安装mariadb
前言在 Termux 里其实装不了“官方”MySQL,但官方仓库里直接提供了 MariaDB(MySQL 的完全兼容分支),对移动端更轻量,也足够学习/调试使用。这种部署方式不会影响学习:
SQL 语法 100% 通用MariaDB 完全兼容 MySQL 5.7/8.x 的主流语法(SELECT、JOIN、窗口函数、事务、索引、MVCC)。
引擎层体验无差异默认都是 InnoDB,ACID、锁等待、行版本、redo/undo log 机制一样;EXPLAIN 计划格式略有输出顺序差异,不影响调优思路。
不足的部分
MySQL 8 的 CTE/窗口函数 MariaDB 10.6+ 也有;
没有 JSON 数据类型(MariaDB 用 LONGTEXT + 检查约束模拟),但语法 JSON_EXTRACT 兼容;
没有 roles、resource group、clone plugin 等 DBA 高级特性——这些对“开发+调优”阶段学习占比 <5%。
等以后到公司用云数据库,再花 1-2 小时就能补齐。
安装步骤环境准备12345# 更新源pkg update & ...
linux多网卡修改网关
前言linux修改默认路由表,一般情况下使用route增删查即可,但多网卡情况下,linux出网使用默认路由表,但被访问时,回包走的却不是,如果只添加route add/del回包下一跳很有可能还是添加之前的路由,原因很大可能是因为需要创建被访问网卡的路由表;如果遇到这样的情况,可以按照如下方式修改尝试。
以下情况设置为两个网卡的情况
不同段情况下修改默认路由表
新增新网关,删除旧网关12route add -net 0.0.0.0/0 gw 网关 dev 网卡名称route del -net 0.0.0.0/0 gw 旧网关
永久生效,写入开机自启文件12echo "route add -net 0.0.0.0/0 gw 网关 dev 网卡名称" >> rc.localecho "route del -net 0.0.0.0/0 gw 旧网关" >> rc.local
创建路由表创建两个路由表分别为:route-table1,route-table212echo "10 route-table1&quo ...
自启动和计划任务查询
速查表(一句话版)
系统
自启
计划任务
Ubuntu
systemctl list-unit-files --state=enabled
crontab -l && systemctl list-timers
CentOS/RHEL
systemctl list-unit-files --state=enabled
crontab -l && systemctl list-timers
Windows
reg query "HKLM\...\Run"
schtasks /query
macOS
ls ~/Library/LaunchAgents/
launchctl list && crontab -l
FreeBSD
service -e
crontab -l && ls /etc/periodic/
Ubuntu / Debian / Linux Mint12345678910111213141516171819202122232425# 系统级 syste ...
挖矿排查方法
辅助工具
工具名称
用途
安装方式
rkhunter
检测rootkit、挖矿木马
apt install rkhunter
chkrootkit
检测隐藏进程与后门
apt install chkrootkit
clamav
全盘病毒扫描
apt install clamav
通用确认进程
输出高CPU进程检查是否有名为 java、python、bash、sshd、kworker 等伪装进程 1ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -n 20
检查进程实际路径如果路径指向 /tmp/.X11-unix/…、.font-unix/、.configrc5/ 等,极可能是挖矿木马 1ls -l /proc/$PID/exe
检查网络连接是否连向矿池检查是否有陌生的外联地址1sudo netstat -antlp | grep ESTABLISHED
可使用 情报社区 或 VirusTotal 查询IP是否为矿池
排查计划任务与启动项
系统
自启
计划任务
Ubuntu
systemctl l ...
playwright-基础使用
官网
官方:https://playwright.dev/docs/intro中文网:https://playwright.nodejs.cn/
高频常用语法123456789101112131415161718// 启动并打开页面with sync_playwright() as p: browser = p.chromium.launch(headless=False) # 改成 True 可后台 context = browser.new_context() page = context.new_page()// 输入 & 点击page.locator('#user').fill('admin');page.getByRole('button', { name: '登录' }).click();// 断言expect(page.locator('.welcome')).toHaveText('欢迎 admin');// 截图 ...
apt源
修改 APT 源手动修改 sources.list
备份原文件:
1sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑源文件:
1sudo nano /etc/apt/sources.list
替换为官方源(以 Ubuntu 22.04 为例):
1234deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu jammy-security main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiver ...
Kubernetes集群部署
准备工作(所有节点执行)
三台ubuntu
master:192.168.11.100
node1:192.168.11.11
node2:192.168.11.22
设置主机名(各自设置)
master 节点12sudo hostnamectl set-hostname masterexec bash
node1 节点12sudo hostnamectl set-hostname node1exec bash
node2 节点12sudo hostnamectl set-hostname node2exec bash
添加 hosts 解析(所有节点执行)12345sudo tee -a /etc/hosts <<EOF192.168.11.100 master192.168.11.11 node1192.168.11.22 node2EOF
禁用 swap(所有节点)12sudo swapoff -asudo sed -i '/ swap / s/^/#/' /etc/fstab
配置内核参数(所有节点)1234567891011121 ...
Kubernetes概览
k8s多节点集群架构图1234567891011121314151617181920212223242526 +----------------------------------------------------------------+ | Master 节点(控制平面) | | | | +----------------+ +--------------+ +----------------+ | | | API Server |<->| Scheduler |<->| Controller Mgr | | | +----------------+ +--------------+ +------------- ...
ubuntu-网卡配置文件
dhcp
打开网卡配置文件/etc/netplan下的类似50-cloud-init.yaml写法的yaml文件:1vim /etc/netplan/50-cloud-init.yaml
开启dhcp自动获取地址123ethernets: ens33: dhcp4: true
应用配置1sudo netplan apply
静态地址打开配置文件后,修改内容格式为:
老版本1234567ethernets: ens33: dhcp4: no addresses: [192.168.11.10/24] gateway4: 192.168.11.1 nameservers: addresses: [223.5.5.5]
新版本写法
123456789ethernets: ens33: dhcp4: no addresses: [192.168.11.10/24] routes: - to: 0.0.0.0/0 via: 192.168.11.2 nameservers: addre ...
正则表达式符号大全
普通字符(最基础)
符号
含义
示例
a~z
字母本身
abc 匹配 “abc”
0~9
数字本身
123 匹配 “123”
其他符号
除特殊字符外,其它字符本身
@#- 匹配这些字符
元字符(具有特殊意义)
符号
含义
示例
.
任意单个字符(除换行)
a.c 匹配 abc、a1c
^
匹配字符串开头
^abc 匹配以 abc 开头
$$`
匹配字符串结尾
abc$$ 匹配以abc` 结尾
[]
字符集,匹配其中任一字符
[abc] 匹配 a、b、c
[^]
排除字符集,匹配不在其中的字符
[^abc] 匹配非 a、b、c 的字符
`\
`
或操作,匹配左右任一模式
`a\
b匹配a或b`
()
分组,可用于提取或重复
(abc)+ 匹配 “abcabc”
\
转义字符,用于匹配特殊符号本身
\. 匹配字面上的点号 .
数量词(表示重复次数)
符号
含义
示例
*
匹配前一项 0次或多次
a* 可匹配 “”, “a”, “aaa”
+
匹配前一项 1次或多次
a+ 匹配 “a”, “ ...
