面试题答案
一键面试主库配置要求
- 允许连接的IP:
- 需配置从库的IP地址,在
pg_hba.conf
中添加如下格式的记录:
这里host replication replication_user from_slave_ip/32 trust
replication_user
是用于复制的用户,from_slave_ip
为从库的IP,/32
表示匹配精确的IP地址,trust
表示信任该连接,无需密码验证。 - 需配置从库的IP地址,在
- 用户权限:
- 创建具有复制权限的用户,例如:
此用户专门用于主从复制,且必须具有CREATE USER replication_user WITH REPLICATION PASSWORD 'password';
REPLICATION
权限。
从库配置要求
- 允许连接的IP:通常不需要特殊配置
pg_hba.conf
来允许主库连接从库,因为从库主要是主动连接主库获取数据。 - 用户权限:从库使用与主库配置中相同的
replication_user
及其密码来连接主库进行复制。
可能出现的问题
- IP配置错误:
- 如果主库
pg_hba.conf
中配置的从库IP错误,从库将无法连接主库,导致复制中断。例如写成了错误的网段或错误的IP地址。
- 如果主库
- 用户权限问题:
- 如果主库上创建的复制用户没有
REPLICATION
权限,或者密码配置错误,从库连接主库时会因权限不足或认证失败而导致复制无法启动。 - 若
pg_hba.conf
中的认证方式配置不当,如使用了需要密码认证但密码未正确设置,也会导致连接失败。
- 如果主库上创建的复制用户没有
避免配置不当导致复制中断的方法
- 仔细核对IP配置:
- 在配置主库
pg_hba.conf
允许从库IP连接时,仔细确认从库的真实IP地址,可通过ip addr
等命令在从库服务器上核实。
- 在配置主库
- 正确设置用户权限:
- 在主库创建复制用户时,确保赋予
REPLICATION
权限。在从库配置连接主库参数时,仔细核对用户名和密码,可通过测试连接工具(如pg_basebackup
)进行验证。
- 在主库创建复制用户时,确保赋予
- 定期检查配置:
- 定期检查
pg_hba.conf
文件,确保配置没有被意外修改。可以通过配置管理工具(如Ansible等)来管理和监控配置文件的一致性。
- 定期检查