来源快照|数据库与存储

本页是原图的只读导入快照,不是已核验文档。原有历史命令、版本标记与疑点保留;已识别口令替换为占位符。图片只保留引用。

  • 数据库与存储 ^xm-cd5fa164e1fb4ceebe2f4cbfe5
    • ◆ 2026 深度扩展|数据库与存储 ^xm-bad793bc0ddb4541b40e329aa9
      • 数据库通用生产能力 ^xm-73db413b2f89456392a6e383fe
        • 🎯 目标 ^xm-7a9245979f33461fb2c6be0843
          • 从事务、索引、连接、复制、备份与容量统一理解数据库运维。
        • 🧠 知识拆解 ^xm-16f777cfdcac458ea209d0d5fe
          • ACID/MVCC/lock
          • B-tree/LSM
          • query plan/statistics
          • connection pool
          • replication/consistency
          • backup/PITR
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-71ed35cffcee44e9a661619d34
          • 慢查询与执行计划
          • 锁/事务视图
          • 连接/缓存命中
          • 复制延迟
          • 备份校验
        • 🔥 高频故障与风险 ^xm-a229a92488d9421f8b2a682cee
          • 慢 SQL
          • 锁等待/死锁
          • 连接耗尽
          • 复制延迟
          • 空间膨胀
          • 误删
        • 🔎 排障路径 ^xm-9e9d9cbdbfa34a5c9290f8191f
          • 先影响与工作负载
          • 等待事件→SQL→plan→数据分布
          • 检查最近 schema/config 变化
        • 🧪 实战练习 ^xm-4d94259605024b568e11e89a1c
          • 构造慢查询和死锁
          • 备份恢复到指定时间
        • ✅ 验收标准 ^xm-66264af10be84afa8ed01a930f
          • 关键库有 RPO/RTO
          • 恢复定期演练
          • 变更有回滚/兼容性
      • MySQL / InnoDB ^xm-7248b4baff9d4e44a8e192f83c
        • 🎯 目标 ^xm-6d6dabaa34694dbbb00d0070b8
          • 管理事务、索引、复制、备份和高可用。
        • 🧠 知识拆解 ^xm-ffd8eb5e6c884791a5449c3351
          • buffer pool/redo/undo/binlog
          • MVCC/隔离级别
          • 聚簇/二级索引
          • GTID replication
          • group replication/HA
          • online DDL
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-73d5ca0fd15042c993eed1d072
          • SHOW ENGINE INNODB STATUS
          • performance_schema/sys
          • EXPLAIN ANALYZE
          • SHOW REPLICA STATUS
          • mysqldump/xtrabackup
        • 🔥 高频故障与风险 ^xm-f0694729d6664638968cdcc819
          • deadlock
          • replica lag
          • buffer pool miss
          • long transaction
          • binlog/disk full
          • DDL blocking
        • 🔎 排障路径 ^xm-a3032347e390400eb6d1718d54
          • 等待/锁→SQL→plan
          • 核对复制线程与网络/I/O
          • 检查长事务和 purge
        • 🧪 实战练习 ^xm-5163fac5b6e945299a38a6de8d
          • GTID 主从切换
          • 物理备份与 PITR
        • ✅ 验收标准 ^xm-abe98385e0314423837d52a156
          • 切换不丢数据或符合 RPO
          • 慢 SQL 有基线
          • 备份可恢复
        • 🔗 对应优秀开源项目 ^xm-f2358514e4a84e66ad9b5526ee
          • mysql/mysql-server ^xm-fa776ba7c6d547878f43cf7e01
            • 原链接(未复核):https://github.com/mysql/mysql-server
          • percona/percona-toolkit ^xm-3d9b04a5fc034a5bb93d3417b8
            • 原链接(未复核):https://github.com/percona/percona-toolkit
      • PostgreSQL ^xm-fb577d47131f4db99847901dc8
        • 🎯 目标 ^xm-8aec5c8754344a1ebb642666cc
          • 掌握 MVCC、WAL、vacuum、复制与查询优化。
        • 🧠 知识拆解 ^xm-6259c160d978487db06ea51e5a
          • WAL/checkpoint
          • MVCC/dead tuple
          • autovacuum
          • planner/statistics
          • streaming/logical replication
          • PITR
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-0e290829a90c462ab91fcd32d0
          • pg_stat_activity/statements
          • EXPLAIN ANALYZE BUFFERS
          • pg_locks
          • pg_wal
          • pg_basebackup
          • VACUUM/REINDEX
        • 🔥 高频故障与风险 ^xm-77c29a95c9494697a27051b8d9
          • table/index bloat
          • transaction ID wraparound
          • replication lag
          • checkpoint I/O spike
          • connection storm
        • 🔎 排障路径 ^xm-f262c425e2734a21bb7c479aab
          • wait_event→query→plan
          • dead tuples/autovacuum
          • WAL generation/replay
          • pool saturation
        • 🧪 实战练习 ^xm-95253fd686ce415088505cb7fe
          • 流复制切换
          • PITR 与 vacuum 调优
        • ✅ 验收标准 ^xm-baa319021524407393709b0a64
          • autovacuum 有监控
          • 恢复点可验证
          • 连接池与 max_connections 协同
        • 🔗 对应优秀开源项目 ^xm-8b64b09be3174f929b319723da
          • postgres/postgres ^xm-10dfc64c5df1477ebdccc01b08
            • 原链接(未复核):https://github.com/postgres/postgres
      • Redis ^xm-7ac2457c40314f6ca7928eb763
        • 🎯 目标 ^xm-bca97d84271f4bcc908f227029
          • 安全运维内存数据结构、持久化、复制、Sentinel 与 Cluster。
        • 🧠 知识拆解 ^xm-b95fbe04cbc7406f859143e064
          • single-thread command path/IO threads
          • RDB/AOF
          • replication
          • Sentinel
          • Cluster slots
          • eviction/TTL
          • big/hot keys
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-eed82655b113414f970460502a
          • INFO
          • SLOWLOG
          • LATENCY
          • MEMORY
          • SCAN
          • redis-cli —bigkeys/—hotkeys
          • CLUSTER
        • 🔥 高频故障与风险 ^xm-af1d9881a06742b3a12ecca180
          • 内存满/eviction
          • big key 阻塞
          • hot key
          • fork latency
          • 复制中断
          • cluster failover
        • 🔎 排障路径 ^xm-9f124a74ca0b41d6934ab49e04
          • 延迟→slowlog/latency doctor
          • 内存分布与碎片
          • 命令/网络/CPU
          • 持久化与 fork
        • 🧪 实战练习 ^xm-36d320d8218547588ace40abb9
          • Sentinel 故障切换
          • 大 key 拆分与热 key 治理
        • ✅ 验收标准 ^xm-9fc8ef6f37814347b73c63f203
          • 禁用危险全量命令
          • RDB/AOF 选择符合 RPO
          • 故障切换演练
        • 🔗 对应优秀开源项目 ^xm-278ecc2a717d4e14ba76202133
          • redis/redis ^xm-42be3ee296b2494fbc13cb887c
            • 原链接(未复核):https://github.com/redis/redis
      • MongoDB ^xm-b10722e1949941fd900c3aaeec
        • 🎯 目标 ^xm-8a351f0299944b338659b5050b
          • 理解文档模型、索引、副本集、分片与一致性。
        • 🧠 知识拆解 ^xm-154b9461270e4b2691adf852bf
          • document/schema
          • index/compound order
          • replica set/election
          • read/write concern
          • oplog
          • sharding/chunk
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-eadd7fd33dbc4f1585ba487b31
          • explain
          • currentOp
          • serverStatus
          • rs.status
          • sh.status
          • profiler
        • 🔥 高频故障与风险 ^xm-04ea8b0b4b85464b8da16c88ee
          • COLLSCAN
          • oplog window 不足
          • 复制延迟
          • chunk imbalance
          • 连接耗尽
        • 🔎 排障路径 ^xm-0880d9f3a1ec418eb617efd8b9
          • query shape→index→working set
          • 副本网络/磁盘
          • oplog generation/replay
          • shard key 分布
        • 🧪 实战练习 ^xm-0860c9a69a4f4e58b47e7b7db5
          • 副本集选举
          • 基于 PITR/快照的恢复
        • ✅ 验收标准 ^xm-6594496459624f48bb564232eb
          • shard key 有容量验证
          • write concern 对齐 RPO
          • 备份恢复通过
        • 🔗 对应优秀开源项目 ^xm-3f4381ebd48d470182b757aed3
          • mongodb/mongo ^xm-70a8f86a73fd47a3a354581ab5
            • 原链接(未复核):https://github.com/mongodb/mongo
      • 块、文件、对象与分布式存储 ^xm-4ec0caecf2fb4b318517b63c34
        • 🎯 目标 ^xm-1907a47e7b7647d3b36fe8b3eb
          • 按访问语义、性能、可靠性和成本选择存储。
        • 🧠 知识拆解 ^xm-a950b5975b30434d9dbd648bed
          • block/file/object
          • IOPS/throughput/latency
          • replication/erasure coding
          • consistency/durability
          • failure domain
          • metadata/data path
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-76c44819e400441ba1efd0c06a
          • fio
          • iostat
          • NFS/Ceph status
          • SMART
          • S3 API
          • CSI metrics
        • 🔥 高频故障与风险 ^xm-5650f422195a41e3b3fe54e5bd
          • 容量/性能热点
          • 元数据瓶颈
          • 恢复流量压垮业务
          • 小文件问题
          • 网络分区
        • 🔎 排障路径 ^xm-91d7a25f22fa4ceea7115fd33d
          • 客户端→网络→服务→磁盘
          • 区分吞吐/IOPS/延迟
          • 检查 rebalance/recovery
        • 🧪 实战练习 ^xm-408dac738ab74fccb6ea5fafeb
          • fio 负载矩阵
          • 节点/磁盘故障与恢复
        • ✅ 验收标准 ^xm-c4268e701d0d4646a3ffd44c26
          • 压测匹配真实块大小/并发
          • 故障域合理
          • 恢复时间符合 RTO
        • 🔗 对应优秀开源项目 ^xm-6e93f402ab444d698ffd7f7447
          • ceph/ceph

            备注(源图文本,未作运行验证):

            定位:分布式块、文件、对象存储
            源码阅读:MON/MGR/OSD→CRUSH→PG→client
            实战:容量、恢复、rebalance 与性能观察
            注意:先理解故障域和恢复流量再调参数
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/ceph/ceph
          • rook/rook

            备注(源图文本,未作运行验证):

            定位:Kubernetes 云原生存储编排
            源码阅读:operator→CephCluster→CSI→pool/filesystem
            实战:部署块/文件/对象存储并演练节点故障
            注意:测试环境不能代替容量和故障域设计
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/rook/rook
      • Kubernetes 持久化与 CSI ^xm-ac5db190e07043db9af18c4c25
        • 🎯 目标 ^xm-e33874f100514e16b5e6a7dd86
          • 定位 PVC、挂载、扩容、快照与拓扑问题。
        • 🧠 知识拆解 ^xm-fc797e4a6a874cc0bb59f45d88
          • PV/PVC/StorageClass
          • dynamic provisioning
          • CSI controller/node
          • access mode
          • topology/binding
          • snapshot/clone
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-f9a247a389d64a1796514c171e
          • kubectl describe pvc/pv/pod
          • VolumeAttachment
          • CSI logs
          • mount/findmnt
          • storage metrics
        • 🔥 高频故障与风险 ^xm-da9a96b6b9504cab8a9173a06f
          • PVC Pending
          • Multi-Attach
          • mount timeout
          • zone mismatch
          • 扩容未完成
          • stale attachment
        • 🔎 排障路径 ^xm-f69d9b02bd5648958b28c84f73
          • PVC→PV→SC→CSI provisioner
          • 调度拓扑→attach→mount
          • 检查后端容量/权限
        • 🧪 实战练习 ^xm-a448b150687045ac921b20fb2b
          • WaitForFirstConsumer
          • 快照恢复与卷扩容
        • ✅ 验收标准 ^xm-f864313f063447d7a371845427
          • 有应用一致性方案
          • 节点故障可恢复
          • 容量告警提前于耗尽
        • 🔗 对应优秀开源项目 ^xm-4bd332f09d7045b28bb0077861
          • rook/rook

            备注(源图文本,未作运行验证):

            定位:Kubernetes 云原生存储编排
            源码阅读:operator→CephCluster→CSI→pool/filesystem
            实战:部署块/文件/对象存储并演练节点故障
            注意:测试环境不能代替容量和故障域设计
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/rook/rook
    • ★ [新增] 数据库生产运维能力 ^xm-78799b1787be4585a4f83d6aaf
      • 通用能力 ^xm-2591605a885d46dea627b37e73
        • 事务与隔离级别
        • 索引与执行计划
        • 连接池
        • 慢查询
        • 容量与归档
        • 备份恢复演练
        • 权限与审计
      • 高可用与复制 ^xm-a3f009efc20443028d05818524
        • 主从/主备
        • 一致性与复制延迟
        • 故障转移
        • 脑裂防护
        • RPO/RTO
      • 缓存与键值存储 ^xm-21457efaf984451f947f14a4b8
        • 缓存穿透/击穿/雪崩
        • 淘汰策略
        • Redis Sentinel/Cluster
        • 持久化与恢复
      • 存储系统 ^xm-0c2e026490cf41d4938b187b62
        • 块/文件/对象存储
        • NFS/Ceph/S3
        • 性能、可靠性与容量
        • 快照与复制
    • oracle ^xm-4vkm9j45f53ktm8gk0nikga458
      • 基本语句 ^xm-6maafd2hor57g7ggiu5fo1vc9d
        • 增:insert into tablename (id ,name) values (1,tom); commit;

        • 删:delete from tablename where id = ‘1’;

        • 改: update tablename set name = jack where id = ‘1’

        • 查:select * from table where id = ‘所查字段’

          • 查询表空间:select filename, tablespace_name from dba_data_files

          • 查看数据库所有用户: select username from users

          • 多表联查(group by 排序 having跟group by 做条件筛选): select code from t_cms_(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            多表联查(group by 排序 having跟group by 做条件筛选): select code from t_cms_content where code in (
            select code from t_cms_content where id in (
            select contentid from t_templet_category_content where templetinstanceid in (
            select templetinstanceid from t_cms_cate_instance where cateid='dc00004775'))
            ) group by code having count(1)>1;
          • 交叉连接(笛卡尔积) select * from user1 cross join user2 where user1.id = user2.id

          • 内连接 :select * from user1,user2 where user1.id = user2.id

          • 外连接

            • 左外连接:select * from user1 left outer join user2 on user1.id = user2.id
            • 右外连接:select * from user1 right outer join user2 on user1.id = user2.id
        • 备份语句

          • 数据泵语句 ^xm-716rjici6pa7pp0ldtkmkiqh2s
            • 1.mkdir -p /home/oracle/dump_dir 创建备份目录路径 2.sqlplus(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              1.mkdir -p /home/oracle/dump_dir 创建备份目录路径
              2.sqlplus / as sysdba 登录数据库
              3.sql> create user yys identified by <REDACTED_PASSWORD>; (创建用户及认证密码)
              4.sql> grant connect,resource,dba to yys; (授予用户连接到数据库 用户可以创建表 数据库管理权限)
              5.sql> create directory DUMP_DIR as '/home/oracle/dump_dir'; (创建备份目录别名 DUMP_DIR 指定备份路径'/home/oracle/dump_dir')
              6.sql> grant read,write on directory DUMP_DIR to yys;; (授权yys对目录对象DUMP_DIR有读写权限)
              7.expdp directory= DUMP_DIR dumpfile=beifen.dmp logfile= beifen.log ;(数据泵导出到目录对象,备份文件名为beifen.dump 日志名为beifen.log)导出
              8.expdp yys/<REDACTED_PASSWORD> TABLES=需备份的表名   directory=DUMP_DIR dumpfile=beifen.dmp logfile=beifen.log ;(表备份)
          • rman备份语句 ^xm-2ukbjb5opend9eoo6udt21tkpc
            • archivelog模式 管理员身份进去数据库 archive log list shutdown immediate star(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              archivelog模式
              管理员身份进去数据库
              archive log list
              shutdown immediate
              start mount
              alter database archivelog
              alter database open
            • rman target 用户名/密码@实例名 RMAN>shutdown immediate RMAN>startup moun(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              rman target 用户名/密码@实例名
              RMAN>shutdown immediate
              RMAN>startup mount
              RMAN>backup database;
            • 系统数据库备份脚本,创建rman_backup.rcv文件  sql ‘alter system checkpoint’ Ba(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              系统数据库备份脚本,创建rman_backup.rcv文件
              
              sql 'alter system checkpoint'
              Backup database format '目录'
              Backup current controfile format '目录'
              调用指令:
              rman target 用户/密码@实例名 cmdfile 'rman_backup.rcv'
        • ⚠ [版本限定] Oracle 11g / CentOS 7 安装记录

          备注(源图文本,未作运行验证):

          该流程包含 Oracle 11.2 与 CentOS 7 特定配置,仅作遗留系统维护参考。新部署需核对 Oracle 认证矩阵和操作系统支持。
          • 1.创建运行oracle数据库的用户组和系统用户 ^xm-02fn91dvkspnh9oqe3aq47gjlp
            • groupadd oinstall //创建用户组oinstall groupadd dba //创建用户组dba userad(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              groupadd oinstall //创建用户组oinstall
              groupadd dba //创建用户组dba
              useradd -g oinstall -g dba -m oracle //创建用户oracle,并加入到oinstall和dba用户组
              passwd oracle //设置用户oracle的登录密码
              id oracle //查看新建的用户oracle
          • 2.创建数据库安装目录并授权 ^xm-57cutmoolqsv3uef8d58u0947g
            • mkdir -p /app/oracle //安装目录 mkdir -p /app/oraInventory //配置文件目录(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              mkdir -p /app/oracle //安装目录
              mkdir -p /app/oraInventory //配置文件目录
              mkdir -p /app/database // 解压目录
              chown -R oracle:oinstall /app/oracle
              chown -R oracle:oinstall /app/oraInventory
              chown -R oracle:oinstall /app/database
          • 3.修改OS系统标识 ^xm-483kl7er92uur9ra25f5g1gk51
            • 注:CentOS系统默认不支持oracle数据库安装,需要修改系统标识为redhat-7 cat /proc/version /(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              注:CentOS系统默认不支持oracle数据库安装,需要修改系统标识为redhat-7
              cat /proc/version //查看Linux系统版本
              cat /etc/redhat-realease //查看CentOS系统版本
              CentOS Linux release 7.2.1511(Core)
              vi /etc/redhat-realease
              redhat-7
          • 4.修改内核参数 ^xm-09dqhhcih4ed7tj7erbjitogev
            • vi /etc/sysctl.conf net.ipv4.icmp_echo_ignore_broadcasts = 1 net(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              vi /etc/sysctl.conf
               
              net.ipv4.icmp_echo_ignore_broadcasts = 1
              net.ipv4.conf.all.rp_filter = 1
              fs.file-max = 6815744 设置最大打开文件数
              fs.aio-max-nr = 1048576
              kernel.shmall = 2097152 共享内存的总量,8G内存设置:2097152*4k/1024/1024
              kernel.shmmax = 2147483648 最大共享内存的段大小
              kernel.shmmni = 4096 整个系统共享内存端的最大数
              kernel.sem = 250 32000 100 128
              net.ipv4.ip_local_port_range = 9000 65500 可使用的IPv4端口范围
              net.core.rmem_default = 262144
              net.core.rmem_max= 4194304
              net.core.wmem_default= 262144
              net.core.wmem_max= 1048576
          • 5.修改用户设置限制: vi /etc/security/limits.conf ^xm-312ndp4qat0hqaqv1tuif3no33
            • oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofil(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              oracle soft nproc 2047
              oracle hard nproc 16384
              oracle soft nofile 1024
              oracle hard nofile 65536
            1. 配置用户的环境变量
            • export ORACLE_BASE=/app/oracle export ORACLE_HOME=$ORACLE_BASE/p(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              export ORACLE_BASE=/app/oracle
              export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
              export ORACLE_SID=orcl
              export ORACLE_TERM=xterm
              export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH
              export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
              export LANG=C
              export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
          • 7.安装oracle数据库所需的软件包 ^xm-4ru1408v4t4uk25menkprdm73i
            • yum install gcc* gcc-* gcc-c++-* glibc-devle-* glibc-headers-* c(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              yum install gcc* gcc-* gcc-c++-* glibc-devle-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-* make ksh binutils -y
          • 8.解压缩和安装 ^xm-4g8tldi8uvj6bigugof4o2dln8
            • cd /app unzip oracle_11.2.0.4_Linux-64_1of7.zip -d /app/database(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              cd /app
              unzip oracle_11.2.0.4_Linux-64_1of7.zip -d /app/database
              unzip oracle_11.2.0.4_Linux-64_2of7.zip -d /app/database
              cd /app/database
              ./runInstaller
              export DISPLAY=192.168.55.212:0.0  
              (1)Prerequisite Checks
              ①swap空间不足解决 :(要求2.67G 实际2G)
               free -m  //查看当前虚拟内存
               dd if=/dev/zero of=/home/swap bs=1024 count=1024000 //将当前swap 空间由2048M增加到3048M新增一个2014的swap文件
               swapon /home/swap //增加并启用虚拟内容
               free -m  //再次查看
              ②package检测失败
              因为现有的包的版本比检测要高,最后忽略即可。也可下载相应的package后:
              rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm(需cd到包所在目录)
              ③安装过程是一个漫长的过程,中间有几次卡住,没有出现任何画面,屏幕中间有 条小线,尝试多次,发现光标在该线上,右键点击Closed,也可esc或enter。
              (2)Install Product
              ①execute root scripts(根脚本执行)-failed
              切换到root用户:
              /app/oraInventory/orainstRoot.sh
              /app/oracle/product/11.2.0/db_1/root.sh
              执行完这连个脚本后再点击try便可执行成功。
      • RAC集群搭建 ^xm-43b2r1ms16r8u90c79mtbpvi0a
        • 共享存储
      • rman备份的好处
    • mysql ^xm-66fo1e64iae3v4icgjn4ue65e8
      • ⚠ [版本限定] MySQL 5.7 安装记录

        备注(源图文本,未作运行验证):

        子节点使用 MySQL 5.7 二进制包和 SysV 脚本,属于历史部署记录。当前环境应按目标 MySQL 版本、systemd、初始化参数和升级策略重新验证。
        • 图片引用(本次未导出图片字节):xap:resources/21539719ade9fac15c74be06e475415fbf420eeba08089cea8b88bb81314f9a9.png
        • 1.二进制安装 ^xm-4cekmmst05sr1qr5m3dlb3gdt4
          • 1.下载二进制包https://dev.mysql.com/downloads/mysql/

          • 2.添加用户及用户组groupadd mysql useradd -g mysql -d /usr/local/mysql -s(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            2.添加用户及用户组groupadd mysql
            useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M mysql
          • 3.解压二进制包之后建立软连接到/usr/local/mysql tar zxvf /绝对路径/mysql-5.7.20-lin(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            3.解压二进制包之后建立软连接到/usr/local/mysql
            tar zxvf /绝对路径/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
            ln -s /绝对路径/mysql-5.7.26-linux-glibc2.12-x86_64  /usr/local/mysql/
            chown -R mysql:mysql mysql
          • 4.配置mysql配置文件把my.conf上传到/etc

          • 5.创建数据库相关目录(文件在my.conf中配置)

            • mkdir -p /data/mysql/mysql3306/{data,logs,tmp} chown -R mysql:my(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              mkdir -p /data/mysql/mysql3306/{data,logs,tmp} 
              chown -R mysql:mysql /data/mysql/
          • 6.初始化mysql(根据my.conf配置文件进行初始化)

            • /usr/local/mysql/bin/mysqld —defaults-file=/etc/my.cnf —initialize
          • 7.复制mysql.server到开机自启路径下cp /usr/local/mysql/support-files/mysql.(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            7.复制mysql.server到开机自启路径下cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
          • 8.把mysql的路径加入.bashrc环境变量PATH=/usr/local/mysql/bin:$PATH

          • 9.加入开机自启chkconfig —add mysqld

          • 10.启动/etc/init.d/mysqld start

          • 11.查询初始化密码grep “temporary password” /data/mysql/mysql3306/data/error.log

            1. 修改root密码 /usr/local/mysql/bin/mysql_secure_installation
          • 13.加入开机自启

          • 14.登录mysql -u root -p

          • 15.创建自定义数据库create database yys;

        • 2.rpm安装
        • 3.源码编译安装
      • 主从复制

    • redis ^xm-303gol7hc7k16a4phcf0lg4afr
      • 结构图 ^xm-0jfu0o888qvqrjb8g60u396ocd
        • master(2台)-slave(2台)-sentinel(6台) ^xm-4ofrld232od064iosee0gqq793
          • 图片引用(本次未导出图片字节):xap:resources/e756575b839a7bd40e22882c55203e80e76b46f1dd5660be2de5448b1a0ea819.png
      • sentinel集群搭建过程 ^xm-2u01geen27lftsp40qm8fpb1p6
        • 1.创建用户组: groupadd -g 3000 onip

        • 2.redis用户 : useradd -g onip -d /home/redis -s /usr/bin/csh -m redis

        • 3.使用redis用户登录服务器,解压redis安装包 tar -xzvf redis_tanjin.tar.gz

        • 4.配置环境变量编辑家目录下的.cshrc setenv LANG en_US.UTF8 alias startapp ”${H(详见备注)

          备注(源图文本,未作运行验证):

          原节点完整内容:
          4.配置环境变量编辑家目录下的.cshrc
          setenv LANG en_US.UTF8 
          alias startapp "${HOME}/bin/startapp.sh \!*"
          alias stopapp "${HOME}/bin/stopapp.sh \!*"
          alias statusapp "${HOME}/bin/statusapp.sh \!*"
          alias cfg "cd ${HOME}/redis/conf"
          alias bin "cd ${HOME}/redis/bin"
          alias log "cd ${HOME}/redis/logs"
          setenv RUBY_HOME ${HOME}/redis/ruby
          setenv RUBYLIB ${RUBY_HOME}/lib:(根据实际情况再添加)
          setenv PATH ${RUBY_HOME}/bin:${PATH}
          setenv PATH ${HOME}/redis:${PATH}
        • 5.Redis主配置 cd $HOME/redis/conf/ cp redis.conf.example 6850.conf(详见备注)

          备注(源图文本,未作运行验证):

          原节点完整内容:
          5.Redis主配置
          cd $HOME/redis/conf/
          cp redis.conf.example 6850.conf
        • 6.生成redis实例文件 cd $HOME/redis/conf cp redis.conf.example 6850.con(详见备注)

          备注(源图文本,未作运行验证):

          原节点完整内容:
          6.生成redis实例文件
          cd $HOME/redis/conf
          cp redis.conf.example 6850.conf(作为主节点)
          主配置:vim 6850.conf
          cp redis.conf.example 6852.conf(作为备节点)
          备配置:vim 6852.conf   (配置跟主一样,多加一条 slaveof 100.106.115.99 6850 #IP配置主节点IP,端口配置为主节点端口)
        • 7.配置sentinel cd $HOME/redis/conf 新建sentinel.conf port 26850 sent(详见备注)

          备注(源图文本,未作运行验证):

          原节点完整内容:
          7.配置sentinel
          cd $HOME/redis/conf 新建sentinel.conf
          port 26850
          sentinel monitor 自定义别名 100.106.115.99 6850 2  #2代表有2个sentinel确定master挂了才是真正的挂了
          sentinel down-after-milliseconds 自定义别名 5000     #5000指一定时间范围5000毫秒;sentinel会向master发送心跳PING来确认master是否存活,超出这个时间认为masterdown掉
          sentinel failover-timeout 自定义别名 900000             # 指同一个sentinel对同一个master两次failover之间的间隔时间是900000毫秒
          sentinel parallel-syncs 自定义别名 2                           #指定最多有2个slave可以对新的master同步
          (自定义别名为sentinel监控的主redis名称,一般使用master_主redisIp_端口)
        • 8.启动顺序:先启动主节点,后启动备节点,最后启动sentinel

          • cd $HOME/redis/bin/ 启动主节点 ./redis-server ../conf/6850.conf 启动备节点(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            cd $HOME/redis/bin/
            启动主节点  ./redis-server ../conf/6850.conf
            启动备节点: ./redis-server ../conf/6852.conf 
            cd $HOME/redis/bin/
            启动sentinel: ./redis-sentinel ../conf/sentinel.conf &
        • 8查看redis实例的主备节点状态

          • 查看redis状态 cd $HOME/redis/bin ./redis-cli -h 100.106.115.99 -p 68(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            查看redis状态
            cd $HOME/redis/bin
            ./redis-cli -h 100.106.115.99 -p 6850 info Replication
          • 状态online说明主节点正常(备节点也这样查)

            • 图片引用(本次未导出图片字节):xap:resources/95bc6af16df9bc698031e267a883d05baaadb477c1d94999d3abee4b40f343c4.png
        • 9查看master和slave状态

          • 查看master状态: cd $HOME/redis/bin ./redis-cli -h 100.106.115.99 -p(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            查看master状态:
            cd $HOME/redis/bin
            ./redis-cli -h 100.106.115.99 -p 26850
          • 查看slave状态: cd $HOME/redis/bin ./redis-cli -h 100.106.115.99 -p 2(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            查看slave状态:
            cd $HOME/redis/bin
            ./redis-cli -h 100.106.115.99 -p 26850 sentinel slaves
      • 常用命令 ^xm-1aq0tkfb67kcovla9budfurm7f
        • 进入客户端后台: cd $HOME/redis/bin 执行./redis-cli -h 主机地址 -p 端口号 -raw

        • 查询key值scan 0 match * count 200

        • 查看 redis 慢日志 /data01/redis/bin/redis-cli -h ip –p 端口号 (进入控制台) sl(详见备注)

          备注(源图文本,未作运行验证):

          原节点完整内容:
          查看 redis 慢日志
          /data01/redis/bin/redis-cli -h ip –p 端口号 (进入控制台)
          slowlog get 为查看慢日志
        • 两种备份方式

          • rdb模式: 此模式为redis的默认备份模式,如果15分钟内有一条记录改变(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            rdb模式:
            此模式为redis的默认备份模式,如果15分钟内有一条记录改变;5分钟内有10
            条记录改变;60秒内有10000条记录改变,这三种情况都会让redis做一次本地持久
            化操作。
            因此备份只需要将本地持久化的rdb文件copy到其他路径下即可。
            cp /data01/redis/data/data.rdb /backup/data.rdb.xxx.bak
            • redis的持久化方法和步骤写如下: 步骤1:登录到redis服务器,切换到redis3用户(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              redis的持久化方法和步骤写如下:
              步骤1:登录到redis服务器,切换到redis3用户;
              步骤2:进入redis/bin目录;
              步骤3:执行./redis-cli -h 192.168.1.X -p 6853
              步骤4:执行info查看used_memory_peak_human的大小
              步骤5:执行bgsave 
              /home/redis3/redis/data默认备份目录 备份至其他目录
          • aof模式: 此模式下默认为appendfsync everysec,此时redis会每隔一秒会增量持久化一次 内存中的数据(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            aof模式:
            此模式下默认为appendfsync everysec,此时redis会每隔一秒会增量持久化一次
            内存中的数据。在os突然断电或者redis实例异常停止的情况下,会丢失1秒左右的
            数据。
            因此备份只需要将本地持久化的aof文件copy到其他路径下即可。
            cp /data01/redis/data/appendonly.aof /backup/ appendonly.aof.xxx.bak
    • MongoDB ^xm-2bvksfqj72pi76dlk6mdn3ujh0
      • 基本命令