7.4 KiB
Tips list
git tips
git clone by ssh
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
# 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 命令来清理未使用的数据,包括日志文件:
docker system prune -a
java
安装 java 1.8
sudo apt update
sudo apt install openjdk-8-jdk
java -version
sudo update-alternatives --config java # 选择当前默认的java版本
mongodb
安装mongodb, omada sdn controller 和依赖
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:
sudo mysql -u root -p
然后执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
方法2:安全模式重置(无法登录时)
- 停止 MariaDB 服务:
sudo systemctl stop mariadb
- 以跳过权限表的方式启动 MariaDB:
sudo mysqld_safe --skip-grant-tables --skip-networking &
- 无需密码连接到 MariaDB:
sudo mysql
- 设置新密码:
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
EXIT;
- 停止并正常重启 MariaDB 服务:
sudo pkill mysqld
sudo systemctl start mariadb
方法3:使用 mysql_secure_installation
这个工具可以帮助你重置 root 密码并优化一些安全设置:
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:
- The system believes the database is already initialized in mysql
- There may be an issue with the database files or configuration
Troubleshooting Steps
-
Check MariaDB logs for more detailed error information:
sudo journalctl -u mariadb -n 50or
sudo cat /var/log/mysql/error.log -
Check permissions on the data directory:
ls -la /var/lib/mysqlMake sure the directory is owned by the mysql user:
sudo chown -R mysql:mysql /var/lib/mysql -
Check disk space:
df -h -
Try safe start to see if it provides more diagnostics:
sudo mysqld_safe --skip-grant-tables -
Try repairing database files:
sudo mysqlcheck --all-databases --repair --use-frm -
Reset permissions and restart:
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:
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. 创建用户(如果尚不存在)
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
例如:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
2. 授予表级权限
基本语法:
GRANT permission1, permission2, ... ON database_name.table_name TO 'username'@'host';
常见权限类型
SELECT- 读取数据INSERT- 插入数据UPDATE- 更新数据DELETE- 删除数据ALTER- 修改表结构CREATE- 创建表DROP- 删除表ALL PRIVILEGES- 所有权限
实例
授予用户对特定表的SELECT权限:
GRANT SELECT ON mydb.mytable TO 'myuser'@'localhost';
授予用户对特定表的多个权限:
GRANT SELECT, INSERT, UPDATE ON mydb.mytable TO 'myuser'@'localhost';
授予用户对所有表的特定权限:
GRANT SELECT ON mydb.* TO 'myuser'@'localhost';
授予用户对多个表的权限:
GRANT SELECT ON mydb.table1 TO 'myuser'@'localhost';
GRANT INSERT ON mydb.table2 TO 'myuser'@'localhost';
3. 应用更改
授予权限后,刷新权限:
FLUSH PRIVILEGES;
4. 验证权限
查看用户权限:
SHOW GRANTS FOR 'myuser'@'localhost';
5. 撤销权限(如需)
REVOKE permission ON database_name.table_name FROM 'username'@'host';
例如:
REVOKE INSERT ON mydb.mytable FROM 'myuser'@'localhost';
确保在赋予权限时遵循最小权限原则,只给用户执行其工作所需的权限。