MySQLReader 是一个基于 Python 的 MCP 服务,主要用于读取 MySQL 数据库。该工具支持多种认证方法,如通过环境变量、文件、加密文件来连接数据库。同时,还提供了一个名为 RSA_key_generator.py 的脚本,用于加密敏感信息。
创建虚拟环境并安装依赖:
python -m venv .venv && source .venv/bin/activate # 在 Linux/Mac 上使用
uv init && uv sync # 使用 UV 管理 Python 环境
--directory:指定运行目录,用于挂载配置文件和依赖。run:执行命令。直接在环境中提供数据库凭证:
mysql_reader --db-host your_database_host --db-name your_database_name
从配置文件中读取凭证:
mysql_reader --db-host your_database_host --db-name your_database_name --auth-method file --file-path your_config_file.json
使用加密的凭证文件和私钥解密:
mysql_reader --db-host your_database_host --db-name your_database_name --auth-method efile --file-path your_encrypted_file.enc --private-key private_key.pem
用于生成RSA密钥对并加密敏感信息。
username:需要加密的用户名。password:需要加密的密码。--use-new-key:布尔值,控制是否使用新密钥,默认为 true。--public_key_file_name:公钥文件名,默认为 public_key.pem。--private_key_file_name:私钥文件名,默认为 private_key.pem。--encrypted_file_name:加密结果文件名,默认为 config.enc。生成新密钥对:
python RSA_key_generator.py your_username your_password ^
--public_key_file_name your_public_key_file_name ^
--private_key_file_name your_private_key_file_name ^
--encrypted_file_name your_encrypted_file_name
输出:your_public_key_file_name.pem、your_private_key_file_name.pem 和 your_encrypted_file_name.enc。
使用现有密钥对加密:
python RSA_key_generator.py your_username your_password ^
--use-new-key false ^
--public_key_file_name your_public_key_file_name ^
--encrypted_file_name your_encrypted_file_name
输出:your_encrypted_file_name.enc。
⚠️ 重要提示
确保私钥文件的安全性,避免泄露。
💡 使用建议
在生产环境中推荐使用加密认证方式以增强安全性。