1.备份mysql test库 mysql -uroot -pxxxxx -B test > /mysql_backup/test.sql 2.shell脚本怎么判断文件为空 if [ ! -s "file" ] 3.用一条命令输出trade进程的pid ps -ef |grep "trade"|grep -v "grep"|awk "{print $2}" 4.bash shell中 $?,$#,$*代表什么 $? 上一个执行的命令返回的状态码 $# 这个命令的参数个数 $* 这个命令的所有参数 作为独立字符串 "$*" 所有参数 作为一个字符串 5.如何判断当前服务器80端口被监听 netstat -tunpl|grep 80 6.查看/test文件400-500行 cat /test| head -n 500 | tail -n +400 7.每天早上6点到12点,每隔2小时执行一次/usr/bin/httpd.sh crontab -e 0 6-12/2 * * * /usr/bin/httpd.sh 8.用iptables写一条放行80端口的防火墙规则 iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT 9.找出/test目录下所有大于100M的文件 设置权限644 chmod 644 `find /test -type f -size +100M` 10.查看本机登陆用户 whoami 11.使用vim编辑器将文件中AAA替换为BBB :进入末行模式 :%s/AAA/BBB/g 12.永久修改网卡地址 编辑网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 systemctl restart network 13.rsync 2种同步方式 通过ssh方式同步 通过服务的方式同步(不太清楚) 14.通过命令行给linux机器添加默认网关10.0.0.254 route add default gw 10.0.0.254 15.在不unmount的情况下重新设置mount参数 mount -a 16.给定目录下有很多.log日志文件,包含历史和当日日志文件,均以error字符串表示错误信息,用python分析新增错误信息 17.如何优化linux系统作为低延迟服务器 linux优化这块知识盲区了 https://zhuanlan.zhihu.com/p/58669088#:~:text=1%EF%BC%89%E7%B3%BB%E7%BB%9F%E8%B0%83%E4%BC%98%EF%BC%88%E6%9C%AC%E6%96%87%EF%BC%89%EF%BC%9A%E4%B8%80%E4%BA%9B%E4%BD%8E%E5%BB%B6%E8%BF%9F%E7%9B%B8%E5%85%B3%E7%9A%84Linux%E7%B3%BB%E7%BB%9F%E8%AE%BE%E7%BD%AE%EF%BC%8C%E5%92%8C%E4%B8%80%E4%BA%9B%E5%8E%9F%E5%88%99%E3%80%82%202%EF%BC%89%E7%BD%91%E7%BB%9C%E8%B0%83%E4%BC%98%EF%BC%9A,%E4%BD%BF%E7%94%A8solarflare%E7%BD%91%E5%8D%A1%E9%99%8D%E4%BD%8E%E7%BD%91%E7%BB%9CIO%E5%BB%B6%E8%BF%9F%20%E3%80%82 18.mysql主从复制原理及配置主从大完整步骤,mysql主从复制故障如何解决,mysql主从复制延迟有哪些原因,如何解决 - slave机器`start slave`,开启主从复制 - slave机器的I/O线程会通过在master上已授权的复制用户,连接master服务器 - 通过该用户再从指定的binlog日志文件的指定位置,发送binlog日志的内容 - (binglog文件名,pos值,都通过change master命令指定了) - Master服务器接收到slave的I/O线程请求之后,负责复制的binlog dump线程会根据slave服务器的I/O线程的请求信息,进行读取binlog,以及pos值之后的日志信息 - 然后返回给slave的I/O线程 - 返回的信息除了binlog日志内容以外,以及master服务端新的binlog文件,以及POS值 - slave此时的I/O线程接收到master发来的日志信息后,将binlog日志内容,写入到slave本身的relay-log中继日志中,如mysql-relay-bin.xxxxxx的末端 - 并且记录新的binlog文件信息,名字、pos值,写入master-info文件中,用于下一次读取binlog数据时,可以明确知道数据读取的起点 - slave服务器的SQL线程会实时监测本地的Relay Log新增的日志内容,然后将Reloy Log文件中的内容,解析为SQL语句,且在自身slave按顺序执行这些SQL。 mysql主从复制故障 1、找到其他从库,快速替换 2、在从库跳过错误事务 https://cloud.tencent.com/developer/article/1816449 https://blog.csdn.net/weixin_42073629/article/details/117205325 mysql主从复制延迟 1. 从库硬件比主库差,导致复制延迟 2. 主从复制单线程,如果主库写并发太大,来不及传送到从库就会导致延迟。更高版本的mysql可以支持多线程复制 3. 慢SQL语句过多 4. 网络延迟 5. master负载 主库读写压力大,导致复制延迟,架构的前端要加buffer及缓存层 6. slave负载 一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器 只作为备份用,不进行其他任何操作.另外, 2个可以减少延迟的参数: –slave-net-timeout=seconds 单位为秒 默认设置为 3600秒 #参数含义:当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据 –master-connect-retry=seconds 单位为秒 默认设置为 60秒 #参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试 通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟 MySQL数据库主从同步延迟解决方案 最简单的减少slave同步延时的方案就是在架构上做优化,尽量让主库的DDL快速执行 还有就是主库是写,对数据安全性较高,比如sync_binlog=1,innodb_flush_log_at_trx_commit= 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog innodb_flushlog也可以设置为0来提高sql的执行效率。另外就是使用比主库更好的硬件设备作为slave 19.多个机房多台机器需要管理,这些机器上会不定时的有业务的部署更新操作,彼此互不相通,但是每个机房都有一台机器可以通过ssh与阿里云机器互通,设计一个自动化运维架构 阿里云机器可以登陆每个机房内的那台master机器,master机器部署ansible统一管理每个机房内的其他机器,完成批量化执行命令,下发文件,监控服务