作业-第七周
1. 总结pg和mysql的优劣势。
pg的优势:
- PG遵循的是BSD协议,完全开源免费且不会被任何商业公司控制;而mysql在oracle手中,慢慢走向封闭
- Postgresql源代码堪称C语言的典范,易读性比mysql要强很多
- 可靠性是postgresql的最高优先级,它以坚如磐石的品质和良好的工程化而闻名。posrgreslq是完全支持ACID特性的,对于数据库访问提供了强大的安全性保证
- PG是多进程的,而mysql是多线程的。虽然并发不高时,mysql处理速度快,但是当高并发时,对于现在的多核的单台机器上,mysql的总体性能不如pg,原因时mysql的线程无法充分利用CPU的能力
- PG有很强大的查询优化器,支持很复杂的查询处理,而mysql对复杂查询处理很弱,查询优化器不够成熟。
mysql的优势
- 首先是速度。mysql 通常要比postgresql要快的多。mysql通常也宣称速度是他们追求的主要目标之一。
- mysql比postgresql更流行,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持。而且mysql提供了多个不同的社区版、商业版和企业版,而PG只提供了单个完整功能的版本
- 与postgresql相比,mysql更适宜在windows环境下运行。postgresql在windows下运行没有mysql稳定
- mysql 使用了线程,而postgresql使用的是进程。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多
- 由于mysql4.0.2开始支持事务的概念,因此事务对于mysql不再成为劣势。相反,因为mysql保留无事务的表类型。这就为用户提供了更多的选择
2. 总结pg二进制安装和编译安装。
二进制安装:
yum/apt -y install postgresql
编译安装:(rocky8)
# Install the repository RPM:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Disable the built-in PostgreSQL module:
sudo dnf -qy module disable postgresql
# Install PostgreSQL:
sudo dnf install -y postgresql14-server
# Optionally initialize the database and enable automatic start:
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14
3. 总结pg服务管理相关命令 pg_ctl 和pgsql命令选项及示例和不同系统的初始化操作
4. 总结pg数据库结构组织
5. 实现pg远程连接。输入密码和无密码登陆
6. 总结库,模式,表的添加和删除操作。表数据的CURD。同时总结相关信息查看语句。
7. 总结pg的用户和角色管理。
8. 添加mage用户,magedu模式,准备zabbix库,配置mage用户的默认模式magedu,要求mage用户给zabbix库有所有权限。
9. 总结pgsql的进程结构,说明进程间如何协同工作的。
10. 总结pgsql的数据目录中结构,说明每个文件的作用,并可以配上一些示例说明文件的作用。
11. 尝试将pgsql新版本的运行日志存储到数据库。
12. 图文并茂总结LSN和WAL日志相关概念
13. 实现WAL日志多种类型的备份,及数据还原。
14. 实现WAL日志完成主从流复制,要求在从节点上进行crontab数据备份,同时手工让主节点宕机,让从节点切换为主节点,并添加新的从节点。
15. 总结日志记录的内容包含什么
16. 总结日志分类, 优先级别。图文并茂解释应用如何将日志发到rsyslog,并写到目标。
17. 总结rsyslog配置文件格式
18.完成功能,sshd应用将日志写到rsyslog的local6分类,过滤所有级别,写入到/var/log/ssh.log。
18. 完成功能,将3个主机(要求主机名为ip)的ssh日志,通过rsyslog服务将ssh日志写入到集中的主机上的rsyslog服务,写入到/var/log/all-ssh.log文件
19. 总结/var/log/目录下常用日志文件作用。
20. 总结journalctl命令的选项及示例
21. 完成将多个主机(要求主机名为ip)的nginx日志集中写入到mysql表中
22. 尝试使用logrotate服务切割nginx日志,每天切割一次,要求大于不超过3M, 保存90天的日志, 旧日志以时间为后缀,要求压缩。
23. 总结DAS, NAS, SAN区别,使用场景
24. 完成 文件同步和LAMP架构实现负载均衡实战案例
25. 总结 Redis多种安装方法和内核参数优化
26. 总结 Redis 常见指令和数据类型