Linux运维工程师常见基础面试题
1、tcp三次握手四次挥手详解
TCP是一种面向连接的协议,通信前需要建立连接,通信结束后需要释放连接。TCP通过三次握手建立连接,四次挥手释放连接。
三次握手:
1、客户端向服务器发送SYN包,表示请求建立连接。
2、服务器收到SYN包后,回复一个SYN+ACK包,表示确认收到请求,并准备好建立连接。
3、客户端收到服务器的SYN+ACK包后,回复一个ACK包,表示确认建立连接。
四次挥手:
1、客户端发送一个FIN包,表示请求关闭连接。
2、服务器收到FIN包后,回复一个ACK包,表示确认收到请求。
3、服务器发送一个FIN包,表示准备关闭连接。
4、客户端收到服务器的FIN包后,回复一个ACK包,表示确认关闭连接。
以上就是TCP三次握手和四次挥手的示意图。
2、mysql主从同步详解
MySQL主从复制是一种常用的高可用架构,通过将数据从主库复制到从库,实现数据的备份和读写分离。
MySQL主从同步的过程如下:
1、在主库上开启二进制日志,并设置唯一的server_id。
2、在从库上设置唯一的server_id,并配置连接主库的信息。
3、在从库上执行CHANGE MASTER TO语句,指定要连接的主库的信息。
4、在主库上执行FLUSH TABLES WITH READ LOCK语句,锁定所有表,保证数据的一致性。
5、在主库上执行SHOW MASTER STATUS语句,获取当前二进制日志文件名和位置。
6、在从库上执行START SLAVE语句,开始同步数据。
7、从库连接主库,获取主库的二进制日志,并将其应用到从库上。