MySQL 主从配置与LDAP主从配置详解
一、MySQL 主从配置
1. 环境准备
操作系统版本:CentOS 7.8
MySQL版本:5.7.30
主服务器IP:192.168.10.243
从服务器IP:192.168.10.143
2. 基础环境配置
确保两台服务器的操作系统版本和位数一致,MySQL版本一致。
确保两台服务器的数据一致,可以通过备份和恢复数据来实现。
关闭防火墙和SELinux,优化系统参数。
关闭防火墙 systemctl stop firewalld && systemctl disable firewalld 关闭SELinux setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 优化文件句柄和内核参数 vim /etc/security/limits.conf soft nofile 65536 hard nofile 131072 vim /etc/sysctl.conf net.ipv4.tcp_max_tw_buckets = 8000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 10 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_max_syn_backlog = 1024000
3. 安装 MySQL
在两台服务器上分别执行以下命令来安装MySQL:
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-community-client-5.7.30-1.el7.x86_64.rpm wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-community-common-5.7.30-1.el7.x86_64.rpm wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-community-libs-5.7.30-1.el7.x86_64.rpm wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-community-server-5.7.30-1.el7.x86_64.rpm yum localinstall *.rpm
4. 配置MySQL
在主服务器(Master)上进行以下配置:
[mysqld] server-id = 240 log-bin = master-bin binlog-format = ROW log-slave-updates = on
在从服务器(Slave)上进行以下配置:
[mysqld] server-id = 250 relay-log = slave-relay-bin log-bin = slave-bin
重启MySQL服务:
systemctl restart mysqld
5. 授权与数据同步
在主服务器上创建用于复制的用户:
CREATE USER 'repl'@'192.168.10.143' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.10.143'; FLUSH PRIVILEGES;
锁定主服务器数据库并获取二进制日志信息:
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
记录File和Position值,稍后在从服务器配置中使用,解锁表:
UNLOCK TABLES;
6. 配置从服务器
在从服务器的MySQL配置文件中添加以下内容:
CHANGE MASTER TO MASTER_HOST='192.168.10.243', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='master-bin.00000X', # File值 MASTER_LOG_POS=XXX; # Position值
启动从服务器的复制线程:
START SLAVE;
检查从服务器的状态:
SHOW SLAVE STATUSG;
确保Slave_IO_Running
和Slave_SQL_Running
都显示Yes
。
二、OpenLDAP 主从配置
1. 准备工作
确保两台服务器已经安装OpenLDAP,并且主节点已经有用户数据。
2. 主节点配置
编辑主节点上的olcDatabase={2}hdb,cn=config
模块:
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov olcSpSessionLog: 1000 olcSpCheckpoint: 1 10 olcSpSessionLogTimeout: 10000 olcMirrorMode: TRUE
添加同步提供程序:
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config,olcDatabase={2}hdb,cn=config,olcOverlay=syncprov,cn=config,olcSpSessionLog: 1000olcSpCheckpoint: 1 10olcSpSessionLogTimeout: 10000olcMirrorMode: TRUE,olcSpProvider,rid=001provider=ldap:///192.168.119.125:389bindmethod=simple binddn="cn=admin,dc=rockstics,com" credentials="rocks"searchbase="dc=rockstics,com"type=refreshAndPersist retry="5 5 300 5" timeout=1metadata=offschemachecking=offscope=subtree mirrormode=yes```
3. 从节点配置
编辑从节点上的slapd.conf
文件:
include /usr/local/openldap/etc/openldap/schema/core.schema
include /usr/local/openldap/etc/openldap/schema/cosine.schema
include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
pidfile /var/run/openldap.pid
argsfile /usr/local/openldap/var/run/openldapd.args
moduleload back_hdb
moduleload syncprov.la
moduleload syncprov-shadow.la
loglevel none
database hdb
suffix "dc=rockstics,com"
rootdn "cn=admin,dc=rockstics,dc=com"
rootpw "{SSHA}QAwdh+JnUnpTSLlIwzQ/zG3Qt6/rXNI58"
dir /var/lib/ldap/hdb
修改从节点的olcDatabase={2}hdb.cn=config
模块:
dn: olcDatabase={2}hdb,cn=config,olcSyncReplrid=002,olcSyncProvider=ldap:///192.168.119.125:389,olcSyncUseSSL=off,olcSyncBindMethod=simple,olcSyncReplica="rid=002 provider=ldap:///192.168.119.125:389 bindmethod=simple binddn="cn=admin,dc=rockstics,com" credentials="rocks" searchbase="dc=rockstics,com" type=refreshAndPersist retry="5 5 300 5" timeout=1 schemachecking=off scope=subtree mirrormode=yes"
4. 故障诊断与FAQs问题1:从库无法连接到主库
确保主库防火墙允许3306端口通信,检查主库my.cnf中的bind-address配置。问题2:数据同步延迟或中断
检查网络连接稳定性,调整innodb_flush_log_at_trx_commit
参数,优化网络配置。问题3:权限不足导致同步失败
确保同步用户具有足够的权限,检查主从库的错误日志以获取更多信息。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1392233.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复