345 lines
8.8 KiB
Markdown
345 lines
8.8 KiB
Markdown
# Docker
|
||
|
||
`docker exec -it mysql-jeecg /bin/bash`:进入 `mysql-jeecg` 容器内部,打开 bash 终端。
|
||
|
||
`docker inspect mysql`:查看 `mysql` 容器的详细信息(端口、挂载、环境变量等)。
|
||
|
||
## Mysql
|
||
|
||
```bash
|
||
sudo mkdir -p /opt/mydata/mysql-jeecg/{data,config,logs}
|
||
sudo chown -R 999:999 /opt/mydata/mysql-jeecg
|
||
```
|
||
|
||
```bash
|
||
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
|
||
|
||
```bash
|
||
sudo mkdir -p /opt/mydata/redis/{data,conf,logs}
|
||
sudo chown -R 999:999 /opt/mydata/redis
|
||
```
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
```bash
|
||
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
|
||
|
||
```sh
|
||
# 全局设置。
|
||
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
|
||
```
|
||
|
||
查看提交记录
|
||
|
||
```sh
|
||
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 }';
|
||
```
|
||
|
||
## 远程仓库
|
||
|
||
```sh
|
||
# ⚠️ 注意:执行这一步会删除本地所有 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
|
||
```
|
||
|
||
## 提交规范
|
||
|
||
[约定式提交](https://www.conventionalcommits.org/zh-hans/v1.0.0/)
|
||
|
||
```
|
||
<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 代理配置
|
||
|
||
```bash
|
||
git config --global --list | grep proxy
|
||
```
|
||
|
||
取消配置
|
||
|
||
```bash
|
||
git config --global --unset http.proxy
|
||
git config --global --unset https.proxy
|
||
```
|
||
|
||
设置正确的 SOCKS5 代理
|
||
|
||
```bash
|
||
git config --global http.proxy socks5://127.0.0.1:7890
|
||
git config --global https.proxy socks5://127.0.0.1:7890
|
||
```
|
||
|
||
用 `curl` 测试你的代理:
|
||
|
||
```bash
|
||
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)));
|
||
|
||
```
|
||
|
||
# 添加服务器用户权限
|
||
|
||
```shell
|
||
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
|
||
|
||
## 安装
|
||
|
||
```shell
|
||
# 下载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
|
||
```
|
||
|
||
## 使用
|
||
|
||
```shell
|
||
# 登录
|
||
./redis-cli -h 172.21.16.209 -p 7001
|
||
|
||
# 密码
|
||
AUTH cmccPassw0rd
|
||
|
||
# 节点信息
|
||
info replication
|
||
|
||
# 集群信息
|
||
CLUSTER NODES
|
||
|
||
# 查询在某个哈希槽
|
||
CLUSTER KEYSLOT
|
||
|
||
# 测试环境
|
||
+mcKdQWMd/iqiwSmAt05FA==
|
||
```
|
||
|
||
# Windows
|
||
|
||
## 获取 DNS 服务器地址
|
||
|
||
```PowerShell
|
||
Get-DnsClientServerAddress | Select-Object -ExpandProperty ServerAddresses
|
||
```
|
||
|
||
## Power Shell 脚本限制
|
||
|
||
PowerShell 默认不允许执行脚本,而你尝试运行 yarn 命令时,PowerShell 尝试执行 yarn.ps1 脚本但被系统安全策略阻止了。
|
||
|
||
以管理员身份打开 PowerShell
|
||
|
||
执行以下命令更改执行策略:
|
||
|
||
```powershell
|
||
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||
```
|
||
|
||
这会允许你运行本地创建的脚本和已签名的远程脚本
|
||
|
||
然后再次尝试运行你的 yarn 命令:
|
||
|
||
```powershell
|
||
yarn config set registry https://registry.npmmirror.com
|
||
```
|
||
|
||
如果你想更加安全,完成操作后可以恢复更严格的执行策略:
|
||
|
||
```powershell
|
||
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser
|
||
```
|
||
|
||
## 增加 JDK 信任证书
|
||
|
||
```sh
|
||
增加
|
||
.\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
|
||
```
|