324 lines
7.4 KiB
Markdown
324 lines
7.4 KiB
Markdown
# Tips list
|
||
|
||
## git tips
|
||
|
||
git clone by ssh
|
||
|
||
```sh
|
||
git clone ssh://git@192.168.2.166:3122/WFC/build.wfc.git
|
||
git remote set-url origin git@192.168.2.166:3122/zhangsz/WFC/be.wfc.git
|
||
```
|
||
|
||
```sh
|
||
# 1. 生成 SSH ed25519密钥对
|
||
ssh-keygen -t ed25519 -C "simon@omc-dev-openEuler"
|
||
# 2. 复制公钥内容
|
||
cat ~/.ssh/id_ed25519.pub
|
||
# 3. 将公钥添加到 Gitee
|
||
# 登录 Gitee -> 设置 -> SSH 公钥 -> 添加公钥
|
||
# 4. 测试连接
|
||
ssh -T git@192.168.2.166 -p 3122
|
||
```
|
||
|
||
## docker tips
|
||
|
||
使用 Docker 日志清理工具
|
||
你可以使用 Docker 提供的 docker system prune 命令来清理未使用的数据,包括日志文件:
|
||
|
||
```sh
|
||
docker system prune -a
|
||
```
|
||
|
||
## java
|
||
|
||
安装 java 1.8
|
||
|
||
```sh
|
||
sudo apt update
|
||
sudo apt install openjdk-8-jdk
|
||
java -version
|
||
sudo update-alternatives --config java # 选择当前默认的java版本
|
||
```
|
||
|
||
## mongodb
|
||
|
||
安装mongodb, omada sdn controller 和依赖
|
||
|
||
```sh
|
||
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
|
||
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
|
||
sudo apt update
|
||
sudo apt install -y mongodb-org
|
||
sudo systemctl start mongod
|
||
sudo systemctl enable mongod
|
||
sudo systemctl status mongod
|
||
sudo dpkg -i omada_v5.15.6.7_linux_x64_20241128140044_1733188152890.deb
|
||
sudo apt install --fix-broken
|
||
```
|
||
|
||
## devices
|
||
|
||
ap sn: 22475N7000767 mac: B0-19-21-7E-27-40
|
||
|
||
omada link
|
||
|
||
curl --location --request POST 'https://aps1-omada-northbound.tplinkcloud.com/openapi/authorize/token?grant_type=client_credentials' \
|
||
--header 'Content-Language: en-US' \
|
||
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
|
||
--header 'Content-Type: application/json' \
|
||
--header 'Accept: */*' \
|
||
--header 'Host: aps1-omada-northbound.tplinkcloud.com' \
|
||
--header 'Connection: keep-alive' \
|
||
--data-raw '{
|
||
"omadacId": "10ccde5bfee5142b28a07f6146f41056",
|
||
"client_id": "48b3be2083dd4fbdb5f7cfd5c3a4abb6",
|
||
"client_secret": "2556dfcafe6d4288b3f0921aa6391c76"
|
||
}'
|
||
|
||
curl --location --request POST 'https://192.168.2.249:8043/openapi/authorize/token?grant_type=client_credentials' \
|
||
--header 'Content-Language: en-US' \
|
||
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
|
||
--header 'Content-Type: application/json' \
|
||
--header 'Accept: */*' \
|
||
--header 'Host: 192.168.2.249:8043' \
|
||
--header 'Connection: keep-alive' \
|
||
--data-raw '{
|
||
"omadacId": "f3aa6e479b94222581523710cc2c2a9d",
|
||
"client_id": "5036e77c81a74008821c694a715fe2b8",
|
||
"client_secret": "29faa06fb7f244b094377b48eb3083a7"
|
||
}'
|
||
|
||
## compile
|
||
|
||
mvn clean compile
|
||
mvn clean package -P prod
|
||
|
||
## mysql/mariadb tips
|
||
|
||
|
||
有几种方法可以在 MariaDB 10.5 中修改 root 密码:
|
||
|
||
## 方法1:使用 mysql CLI(已登录)
|
||
|
||
如果你能以 root 用户登录 MariaDB:
|
||
|
||
```bash
|
||
sudo mysql -u root -p
|
||
```
|
||
|
||
然后执行以下命令:
|
||
|
||
```sql
|
||
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
|
||
FLUSH PRIVILEGES;
|
||
```
|
||
|
||
## 方法2:安全模式重置(无法登录时)
|
||
|
||
1. 停止 MariaDB 服务:
|
||
|
||
```bash
|
||
sudo systemctl stop mariadb
|
||
```
|
||
|
||
2. 以跳过权限表的方式启动 MariaDB:
|
||
|
||
```bash
|
||
sudo mysqld_safe --skip-grant-tables --skip-networking &
|
||
```
|
||
|
||
3. 无需密码连接到 MariaDB:
|
||
|
||
```bash
|
||
sudo mysql
|
||
```
|
||
|
||
4. 设置新密码:
|
||
|
||
```sql
|
||
USE mysql;
|
||
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
|
||
FLUSH PRIVILEGES;
|
||
EXIT;
|
||
```
|
||
|
||
5. 停止并正常重启 MariaDB 服务:
|
||
|
||
```bash
|
||
sudo pkill mysqld
|
||
sudo systemctl start mariadb
|
||
```
|
||
|
||
## 方法3:使用 mysql_secure_installation
|
||
|
||
这个工具可以帮助你重置 root 密码并优化一些安全设置:
|
||
|
||
```bash
|
||
sudo mysql_secure_installation
|
||
```
|
||
|
||
按照提示操作,其中会包括重置 root 密码的选项。
|
||
|
||
记得将示例中的 'new_password' 替换为你想要设置的实际密码。
|
||
|
||
simonzhangsz: ░░ The job identifier is 1143.
|
||
Apr 27 10:40:45 omc-dev-oe22 mariadb-prepare-db-dir[9062]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
|
||
Apr 27 10:40:45 omc-dev-oe22 mariadb-prepare-db-dir[9062]: If this is not the case, make sure the /var/lib/mysql is empty before running mariadb-prepare-db-dir.
|
||
Apr 27 10:41:15 omc-dev-oe22 systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
|
||
|
||
GitHub Copilot: # MariaDB Service Failure Analysis
|
||
|
||
Your MariaDB service is failing to start with an exit status of 1. The logs indicate:
|
||
|
||
1. The system believes the database is already initialized in mysql
|
||
2. There may be an issue with the database files or configuration
|
||
|
||
## Troubleshooting Steps
|
||
|
||
1. **Check MariaDB logs for more detailed error information:**
|
||
|
||
```bash
|
||
sudo journalctl -u mariadb -n 50
|
||
```
|
||
|
||
or
|
||
|
||
```bash
|
||
sudo cat /var/log/mysql/error.log
|
||
```
|
||
|
||
2. **Check permissions on the data directory:**
|
||
|
||
```bash
|
||
ls -la /var/lib/mysql
|
||
```
|
||
|
||
Make sure the directory is owned by the mysql user:
|
||
|
||
```bash
|
||
sudo chown -R mysql:mysql /var/lib/mysql
|
||
```
|
||
|
||
3. **Check disk space:**
|
||
|
||
```bash
|
||
df -h
|
||
```
|
||
|
||
4. **Try safe start to see if it provides more diagnostics:**
|
||
|
||
```bash
|
||
sudo mysqld_safe --skip-grant-tables
|
||
```
|
||
|
||
5. **Try repairing database files:**
|
||
|
||
```bash
|
||
sudo mysqlcheck --all-databases --repair --use-frm
|
||
```
|
||
|
||
6. **Reset permissions and restart:**
|
||
|
||
```bash
|
||
sudo chmod -R 755 /var/lib/mysql
|
||
sudo chown -R mysql:mysql /var/lib/mysql
|
||
sudo systemctl restart mariadb
|
||
```
|
||
|
||
If the database is corrupted, you might need to backup your data (if possible) and reinitialize:
|
||
|
||
```bash
|
||
sudo systemctl stop mariadb
|
||
sudo mv /var/lib/mysql /var/lib/mysql.bak
|
||
sudo mkdir /var/lib/mysql
|
||
sudo chown mysql:mysql /var/lib/mysql
|
||
sudo mysql_install_db --user=mysql
|
||
sudo systemctl start mariadb
|
||
```
|
||
|
||
After that, you would need to restore your databases from backup or recreate them.
|
||
|
||
simonzhangsz: 如何授权某些表的权限给用户
|
||
|
||
GitHub Copilot: # 如何授权某些表的权限给 MariaDB 用户
|
||
|
||
在 MariaDB 中,你可以为特定用户授予对某些表的权限。以下是完整的步骤:
|
||
|
||
## 1. 创建用户(如果尚不存在)
|
||
|
||
```sql
|
||
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
|
||
```
|
||
|
||
例如:
|
||
```sql
|
||
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
|
||
```
|
||
|
||
## 2. 授予表级权限
|
||
|
||
基本语法:
|
||
```sql
|
||
GRANT permission1, permission2, ... ON database_name.table_name TO 'username'@'host';
|
||
```
|
||
|
||
### 常见权限类型
|
||
|
||
- `SELECT` - 读取数据
|
||
- `INSERT` - 插入数据
|
||
- `UPDATE` - 更新数据
|
||
- `DELETE` - 删除数据
|
||
- `ALTER` - 修改表结构
|
||
- `CREATE` - 创建表
|
||
- `DROP` - 删除表
|
||
- `ALL PRIVILEGES` - 所有权限
|
||
|
||
### 实例
|
||
|
||
授予用户对特定表的SELECT权限:
|
||
```sql
|
||
GRANT SELECT ON mydb.mytable TO 'myuser'@'localhost';
|
||
```
|
||
|
||
授予用户对特定表的多个权限:
|
||
```sql
|
||
GRANT SELECT, INSERT, UPDATE ON mydb.mytable TO 'myuser'@'localhost';
|
||
```
|
||
|
||
授予用户对所有表的特定权限:
|
||
```sql
|
||
GRANT SELECT ON mydb.* TO 'myuser'@'localhost';
|
||
```
|
||
|
||
授予用户对多个表的权限:
|
||
```sql
|
||
GRANT SELECT ON mydb.table1 TO 'myuser'@'localhost';
|
||
GRANT INSERT ON mydb.table2 TO 'myuser'@'localhost';
|
||
```
|
||
|
||
## 3. 应用更改
|
||
|
||
授予权限后,刷新权限:
|
||
```sql
|
||
FLUSH PRIVILEGES;
|
||
```
|
||
|
||
## 4. 验证权限
|
||
|
||
查看用户权限:
|
||
```sql
|
||
SHOW GRANTS FOR 'myuser'@'localhost';
|
||
```
|
||
|
||
## 5. 撤销权限(如需)
|
||
|
||
```sql
|
||
REVOKE permission ON database_name.table_name FROM 'username'@'host';
|
||
```
|
||
|
||
例如:
|
||
```sql
|
||
REVOKE INSERT ON mydb.mytable FROM 'myuser'@'localhost';
|
||
```
|
||
|
||
确保在赋予权限时遵循最小权限原则,只给用户执行其工作所需的权限。 |