8.8 KiB
8.8 KiB
Docker
docker exec -it mysql-jeecg /bin/bash:进入 mysql-jeecg 容器内部,打开 bash 终端。
docker inspect mysql:查看 mysql 容器的详细信息(端口、挂载、环境变量等)。
Mysql
sudo mkdir -p /opt/mydata/mysql-jeecg/{data,config,logs}
sudo chown -R 999:999 /opt/mydata/mysql-jeecg
docker run \
--name mysql-ibs \
--restart=always \
-v /opt/mydata/mysql-ibs/data:/var/lib/mysql \
-v /opt/mydata/mysql-ibs/config:/etc/mysql/conf.d \
-v /opt/mydata/mysql-ibs/logs:/var/log/mysql \
-p 63306:3306 \
-e MYSQL_ROOT_PASSWORD=xxxx \
-e MYSQL_CHARACTER_SET_SERVER=utf8mb4 \
-e MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci \
-d mysql:8.0 \
--lower_case_table_names=1
关闭强制分组(ONLY_FULL_GROUP_BY)
SELECT @@sql_mode;:查看当前 MySQL 的 sql_mode 设置。SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));:全局关闭 ONLY_FULL_GROUP_BY(对新连接生效)。SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));:当前会话关闭 ONLY_FULL_GROUP_BY(只对当前连接生效)。
表名大小写设置
SHOW VARIABLES LIKE 'lower_case_table_names';:查看表名是否区分大小写的配置值。sed -i '/\[mysqld\]/a lower_case_table_names = 1' /etc/my.cnf:在 MySQL 配置文件[mysqld]下添加lower_case_table_names=1(通常需重启 MySQL 才生效)。
Redis
sudo mkdir -p /opt/mydata/redis/{data,conf,logs}
sudo chown -R 999:999 /opt/mydata/redis
cat << EOF | sudo tee /opt/mydata/redis/conf/redis.conf
bind 0.0.0.0
port 6379
daemonize no
dir /data
appendonly yes
requirepass oWBTxm6VZWwoAwLnghQG
protected-mode yes
maxmemory 1gb
maxmemory-policy allkeys-lru
EOF
docker run \
--name redis-server \
--restart=always \
-p 6379:6379 \
-v /opt/mydata/redis/data:/data \
-v /opt/mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /opt/mydata/redis/logs:/var/log/redis \
--memory=2g \
-d redis:latest redis-server /etc/redis/redis.conf
Git
# 全局设置。
git config --global user.name "excalicode"
git config --global user.email "excalicode@excalicode.com"
# 本地设置。
git config user.name "excalicode"
git config user.email "excalicode@excalicode.com"
# 禁用 SSL 证书验证。
git config --global http.sslVerify false
查看提交记录
git log --since="2025-01-01" --until="2025-07-31" --author="tianzhuo" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %sn", add, subs, loc }';
远程仓库
# ⚠️ 注意:执行这一步会删除本地所有 Git 历史!
rm -rf .git
# 初始化一个新的 Git 仓库
git init
# 设置 Git 用户名和私密邮箱(全局生效)
git config user.name "Docker7530"
git config user.email "121306237+Docker7530@users.noreply.github.com"
# 将当前项目所有文件加入暂存区并提交
git add .
git commit -m "Initial commit"
# 设置默认分支名为 main
git branch -M main
# 绑定新的 GitHub 仓库地址
git remote add origin https://github.com/Docker7530/excalicode-ai.git
# 推送到远程 GitHub 仓库
git push -u origin main
提交规范
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
要求:
- type 必须是规范内的关键字(英文)
- scope 必须是变更位置或模块名(如 prompts、admin、config)
- description 需简洁描述此次修改意图(中文),不以句号结尾
- 如修改较多,需在正文用 bullet point 描述细项
- 不允许使用「更新代码」「修改 bug」这种无意义描述
type 列表
| type | 用途 |
|---|---|
| build | 构建系统或依赖变更 |
| chore | 构建、依赖、脚本、CI/CD |
| ci | CI 相关变更 |
| docs | 文档、说明、注释 |
| feat | 新功能 |
| fix | 修补 Bug |
| perf | 性能优化 |
| refactor | 重构不影响行为的代码 |
| style | 仅代码格式调整(空格/逗号/缩进) |
| test | 新增修改测试 |
| revert | 回滚代码 |
示例
refactor(prompts): 重构提示词管理系统并统一后台样式
- 提示词从文件系统迁移到数据库
- 新增 PromptTemplate / FunctionPromptMapping CRUD
- 删除旧 PromptConstants
- 新增 Markdown 编辑和预览功能
设置代理
检查 Git 代理配置
git config --global --list | grep proxy
取消配置
git config --global --unset http.proxy
git config --global --unset https.proxy
设置正确的 SOCKS5 代理
git config --global http.proxy socks5://127.0.0.1:7890
git config --global https.proxy socks5://127.0.0.1:7890
用 curl 测试你的代理:
curl --proxy socks5h://127.0.0.1:7890 -I https://github.com
如果代理正常,你会看到 HTTP 响应头:
HTTP/2 200
...
如果代理没有开启,你可能会看到类似:
curl: (7) Failed to connect to 127.0.0.1 port 7890: Connection refused
数据库备份
# 备份表
sudo mysqldump -h localhost -u cdn -ppassW0rd# -P3306 cdnpro user > /root/tz/user.sql
sudo mysql -h localhost -u cdn -ppassW0rd# -P3306 cdnpro < /root/tz/system_config.sql
# 备份库
sudo mysqldump -h localhost -u cdn -ppassW0rd# -P3306 cdn_portal_trail > /home/tianzhuo/cdn_portal_trail_backup.sql
sudo mysql -h localhost -u cdn -ppassW0rd# -P3306 cdn_portal_pre < /root/portal-2025-08-05.sql
# 数据脱敏
UPDATE user
SET mobile = CONCAT(LEFT(mobile, 3), '****', RIGHT(mobile, 4)),
email = CONCAT(LEFT(email, 3), '***', SUBSTRING(email, LOCATE('@', email)));
添加服务器用户权限
useradd shizheng
mkdir /home/shizheng/.ssh -p
chmod 700 /home/shizheng/.ssh
echo -e "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC8GQ/4TjwOweEh99onTTOP3jJSY5h4hpv2zFWn525a3rkFOfmxZUh02Wysd/88HnqDL4JhQrpA7at0cy8p1sxqboJCLiqOv/c/Mr/8nAZbTA4vOP6Wk3IHmwQfxz7depseohcCZxRFMhNCnmtcioHFBfjFVPFRIHVmqjrAlQ2o2BLWQbH7C2Cj5z5zXgOm37NHe4G+jwwwSWBZOWFR5WoLGbALNsBKcadm7of02PlFZAJZ81OPOkEI9buyUxxFv+UB5Twe1WvJ9IDB+r6VGK/XzvuNaeVfrFMJdRmtyslnlV6t0bU7vx9DqCjwAzaTghUqitlAdIGznYi+aJcULjKb3/UX2Efct5XvoktSpRWbuljgbTB4GNJr4MEaizrSKV3E+9y+5G0KtxYDjGo4pusjn5LaTskUlsFz/SrlplqBaDIyFw09RtP/Mj277ep8n8bH84k3XGbmXzcNU3twdKaPcC9bVMjTlECcVsx74tkobOEtri4ALnl6C2VBDNUuhsM= shizheng@cmhi.chinamobile.com" > /home/shizheng/.ssh/authorized_keys
chmod 600 /home/shizheng/.ssh/authorized_keys
chown shizheng:shizheng /home/shizheng -R
echo "shizheng ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/10_shizheng
chmod 440 /etc/sudoers.d/10_shizheng
Redis
安装
# 下载Redis指定版本的源码压缩包到当前目录。
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
# 解压缩Redis源码压缩包。
tar xzf redis-3.0.7.tar.gz
# 建立一个redis目录的软连接,指向redis-3.0.7。
ln -s redis-3.0.7 redis
# 进入redis目录。
cd redis
# 编译(编译之前确保操作系统已经安装gcc)。
make
#安装。
make install
使用
# 登录
./redis-cli -h 172.21.16.209 -p 7001
# 密码
AUTH cmccPassw0rd
# 节点信息
info replication
# 集群信息
CLUSTER NODES
# 查询在某个哈希槽
CLUSTER KEYSLOT
# 测试环境
+mcKdQWMd/iqiwSmAt05FA==
Windows
获取 DNS 服务器地址
Get-DnsClientServerAddress | Select-Object -ExpandProperty ServerAddresses
Power Shell 脚本限制
PowerShell 默认不允许执行脚本,而你尝试运行 yarn 命令时,PowerShell 尝试执行 yarn.ps1 脚本但被系统安全策略阻止了。
以管理员身份打开 PowerShell
执行以下命令更改执行策略:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
这会允许你运行本地创建的脚本和已签名的远程脚本
然后再次尝试运行你的 yarn 命令:
yarn config set registry https://registry.npmmirror.com
如果你想更加安全,完成操作后可以恢复更严格的执行策略:
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser
增加 JDK 信任证书
增加
.\keytool -import -alias cmcc-repo -file "E:\Environment\Server CA.crt" -keystore "E:\Environment\Jdks\jdk-17.0.13_windows-x64_bin\jdk-17.0.13\lib\security\cacerts"
导出
.\keytool -list -keystore "E:\Environment\Jdks\jdk-17.0.13_windows-x64_bin\jdk-17.0.13\lib\security\cacerts" > "$env:USERPROFILE\Desktop\certificates.txt"
删除
.\keytool -delete -alias "cmcc-repo" -keystore "E:\Environment\Jdks\jdk-17.0.13_windows-x64_bin\jdk-17.0.13\lib\security\cacerts"
Maven
查看 Maven 最终生效的 settings 配置。
mvn help:effective-settings