补充学习知识点

1 nginx

cp nginx.conf{,.bak}

egrep -v "^$|.*#" nginx.conf.bak > nginx.conf

没做bind域名系统,对于虚拟主机就用/etc/hostsj

scp/sftp

scp source_file_path destination_file_path
#如
scp ./fangning.conf root@192.168.109.4:/etc/nginx/conf.d

sftp remote_user@host:file_path
>get source_file_path destination_file_path
>put source_file_path destination_file_path

批量注释

ctrl+v :进入可视化,选择行
shift+i	:编辑
插入#
双击Esc

批量取消注释

ctrl+v :进入可视化,选择行
x

测试后端服务连通性及查看服务

telnet ip port

动静分离抓包分析

tcpdump -i any port 8080 -nnn -AA
** `-n`** :用于抑制将网络地址和端口号解析为对应的主机名和服务名称。它会直接以数字形式显示 IP 地址和端口号
**`-A`** :选项用于捕获和显示应用层的数据。它会尽可能地将数据包中的应用层载荷(如 HTTP 请求和响应内容、FTP 数据等)以 ASCII 字符形式显示出来。这对于分析应用层协议的通信内容非常有用,例如查看 HTTP 请求的头部信息、请求方法、URL 以及响应状态码等。

LNMT分析jps(java进程)的资源使用率

[root@kanyun conf]# jps
40393 Bootstrap
99576 Jps

top -H -p 40393
-H:所有线程占用资源情况。
-p<进程号>:指定进程;

#快捷键
M:根据驻留内存大小进行排序。-------------常用
P:根据CPU使用百分比大小进行排序。-----------常用
H:显示线程

#解释:
Swap:
我们在观察Linux的内存使用情况时,只要没发现用swap的交换空间,就不必担心自己的内存太少。 
如果常常看到swap用了很多,那么你就要考虑加物理内存了。这也是在Linux服务器上看内存是否够用的标准。

Nginx性能优化

分析网络(带宽或网络质量问题)

iftop -nn
-nn:不解析地址
#或抓包

查看错误率

netstat -s
netstat -s | egrep -i error
 -s:显示每种协议的统计信息

yum安装跳过检验

yum --help | egrep check
--nogpgcheck          禁用 GPG 签名检查
yum -y install iftop --nogpgcheck 

2 mysql入门

提取业务数据库(可用于脚本中数据库备份)

mysql -uroot -proot -hxxx.xxx.xxx.xx -e "show databases;" | egrep -v "mysql|info|per|Data"

常用查询用户语句

select user,host,authentication_string from user;
#权限操作后都要刷新
flush privileges;

mysql日志配置(/etc/my.cnf)

[mysqld]
server-id =70#每一台服务器一个唯一标识(或可用自增)
log-bin = /log/mysql/bin/sql_lo6_70
expire_logs_days = 30
basedir=/soft/mysql
datadir=/soft/mysql/data
pid-file=/var/run/mysqld/mysqld.pid
socket=/tmp/mysql.sock
log-error=/log/mysql/err.log
general_log=ON
general_log_file=/log/mysql/select.log
slow_query_log_file=/log/mysql/slow.log
long_query_time=2
log_queries_not_using_indexes

port=3306
character-set-server=utf8
default-storage-engine=innodb
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#skip-grant-tables

配置后重置

mysql > reset master;

二进制日志中只关注id、开始和结束时间(用于恢复)

对比二进制日志文件区别

vimdiff 005.sql db.sql

数据库备份恢复

bin_log日志作用

#场景描述
假设在凌晨2点备份完毕后,凌晨5点服务器宕机,那么就要使用bin_log日志对这段时间的数据进行恢复
 sed -n "22p" /backup/mysql/`date +%F%H`-mysql-all.sql
 CHANGE MASTER TO MASTER_LOG_FILE='sql_106_70.000003', MASTER_LOG_POS=154

物理备份命令分析

[root@fangning xtrabackup]# whereis innobackupex
innobackupex: /usr/bin/innobackupex /usr/share/man/man1/innobackupex.1.gz
[root@fangning xtrabackup]# ll /usr/bin/innobackupex
lrwxrwxrwx 1 root root 10 5月  28 23:38 /usr/bin/innobackupex -> xtrabackup

mysql安装包符号链接

符号链接(/soft/mysql)和其目标路径(/soft/mysql-5.7.39-linux-glibc2.12-x86_64/)是两个不同的实体。
默认情况下,chown 命令会修改符号链接目标路径的属主和属组,而不是符号链接本身的属主和属组。
如果需要修改符号链接本身的属主和属组,应使用 chown -h 或 chown --no-dereference 参数。
在实际使用中,通常更关注目标路径的属主和属组,因为符号链接本身通常没有实际的文件内容。
posted @ 2025-05-30 00:10  FangNing  阅读(13)  评论(0)    收藏  举报