数据库
容器部署多节点 FoundationDB 及运维
· ☕ 3 分钟
1. 生成集群ID 1 cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1 下面以 CLUSTER_ID=fKbIga9RHP79OIx1 为例 2. 第一个节点上 清理旧数据 1 2 3 $CONTAINER_CLI rm -f $FDB_INSTANCE_NAME mv $FDB_DIR $FDB_DIR.$(date +%Y%m%d%H%M%S).bak mkdir -p $FDB_DIR 配置环境变量 1 2 3 4 5 6 7 8 9 export CONTAINER_CLI=nerdctl export IMAGE=foundationdb/foundationdb:7.1.26 export CLUSTER_ID=fKbIga9RHP79OIx1 export FDB_INSTANCE_NAME=fdb_server export FDB_CLUSTER_FIRST_IP=$(hostname -I | awk '{print $1}') export FDB_PORT=4500 export FDB_DIR=/data/ops/fdb/$FDB_INSTANCE_NAME 创建 cluster 文件 1 2 echo "${FDB_INSTANCE_NAME}:${CLUSTER_ID}@${FDB_CLUSTER_FIRST_IP}:4500" > $FDB_DIR/fdb.cluster cat $FDB_DIR/fdb.cluster 启动服务器节点 1 2 3 4 5 6 7 8 9 10 11 12

FoundationDB 数据备份与恢复
· ☕ 1 分钟
1. 设置环境变量 设置 foundationdb 集群名称和版本 1 2 3 4 5 export CLUSTER_NAME= export NAMESPACE= export DEPLOY_NAME=${CLUSTER_NAME}-deployment export SECRET_NAME=fdb-backup-secret export VERSION=7.1.26 设置 S3 备份存储桶和凭证 1 2 3 4 5 export BUCKET= export HOST=s3.us-west-2.amazonaws.com export AK=x export SK=x export S3_BACKUP_URI="blobstore://${AK}:${SK}@${HOST}/fdb-backup?bucket=${BUCKET}&sc=0" 2. 创建凭证 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: ${SECRET_NAME} namespace: ${NAMESPACE} type: Opaque stringData: credentials: | { "accounts": { "${BUCKET}@${HOST}": { "access_key": "${AK}", "secret": "${SK}", "endpoint": "${HOST}" } } } EOF 3. 创

常用的一些 MYSQL 命令
· ☕ 1 分钟
1. 免密登录 修改 /etc/my.cnf,在 [mysqld] 中添加一行: skip-grant-tables=1 重启 mysqld 服务 1 systemctl restart mysqld 使用 root 用户登录到 MySQL 1 mysql -u root 2. 允许全部访问来源 登录 MySQL 1 mysql -u root -p 在 mysql 交互命令行中输入: 1 2 3 4 USE mysql; SELECT user, host FROM user; update user set host = '%' where user = 'root'; FLUSH PRIVILEGES; 3. 导出全部数据 1 mysqldump -uroot -proot --all-databases >/tmp/all.sql

Django 性能之数据库查询优化
· ☕ 3 分钟
本文主要提供了 Django 字段、查询方面的优化建议,同时还介绍了一个 Django-silk 性能分析工具。希望对你开发高性能的 Django 工程有所帮助。 1. DBA 的建议 1.1 表字段设计 避免出现 null 值,null 值难以查询优化且占用额外的索引空间 尽量使用 INT 而非 BIGINT,尽可能准确描述字段 使用枚

Django 性能之分库分表
· ☕ 3 分钟
1. 碰到的问题 前端请求量大,并发高,访问速度慢,瓶颈主要表现在: 单表大 单库大 网络 IO 慢 磁盘 IO 慢 网络、磁盘 IO 优化,主要依靠硬件升级。理论上,数据库对单库、单表的大小没有限制,但是过大的单库、单表会导致更多的请求落到单机上,给 IO 造成压力。 理想情况是