WSL Ubuntu下Airflow命令未找到及MySQL连接配置问题
问题解决方案
一、解决'airflow: command not found'问题
1. 临时添加PATH(重启终端后失效)
直接在终端执行:
export PATH="$PATH:/home/myname/.local/bin"
替换myname为你的实际用户名。执行完后用echo $PATH查看是否已包含该目录,之后尝试airflow info或airflow db init(注意:Airflow 2.x版本已用airflow db init替代旧版的airflow initdb)。
2. 永久添加PATH(重启终端仍生效)
编辑bash配置文件(WSL默认用bash,若用zsh则编辑~/.zshrc):
nano ~/.bashrc
在文件末尾添加一行:
export PATH="$PATH:/home/myname/.local/bin"
保存退出(按Ctrl+O,回车,再Ctrl+X),执行以下命令使配置生效:
source ~/.bashrc
再次验证PATH:
echo $PATH
确认/home/myname/.local/bin已在列表中,之后即可正常执行airflow命令。
二、Airflow连接MySQL 8.0.31配置指南
1. 前置准备
- 确保MySQL服务正常运行:若安装在WSL内,执行
sudo systemctl start mysql;若安装在Windows,需确保服务已启动,并在Windows防火墙开放3306端口以允许WSL访问。 - 在MySQL中创建Airflow专用数据库和用户:
登录MySQL:
执行以下SQL:mysql -u root -p
退出MySQL:-- 创建数据库 CREATE DATABASE airflow CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 创建用户(替换airflow_user和your_password为自定义内容) CREATE USER 'airflow_user'@'%' IDENTIFIED BY 'your_password'; -- 授权用户访问airflow数据库 GRANT ALL PRIVILEGES ON airflow.* TO 'airflow_user'@'%'; -- 刷新权限 FLUSH PRIVILEGES;exit;
2. 修改Airflow配置文件
编辑$AIRFLOW_HOME/airflow.cfg(即~/airflow/airflow.cfg):
nano ~/airflow/airflow.cfg
找到以下配置项并修改:
- executor:若用MySQL作为元数据库,建议设置为
LocalExecutor(默认的SequentialExecutor仅适用于测试):executor = LocalExecutor - sql_alchemy_conn:替换为MySQL连接字符串,格式如下:
说明:sql_alchemy_conn = mysql+pymysql://airflow_user:your_password@host:3306/airflow- 若MySQL在WSL本地,
host填localhost; - 若MySQL在Windows,
host填Windows的IP地址(可在Windows终端执行ipconfig查看以太网适配器WSL的IPv4地址); - 替换
airflow_user、your_password为你之前创建的MySQL用户和密码。
- 若MySQL在WSL本地,
3. 初始化Airflow元数据库
执行以下命令初始化(Airflow 2.x版本):
airflow db init
若初始化成功,即可通过Airflow WebUI或命令行管理任务。
4. 验证连接
可在Airflow WebUI中添加MySQL连接并测试:
- 登录Airflow WebUI(默认端口8080),进入Admin > Connections;
- 点击**+**添加新连接,填写:
- Conn Id:自定义(如
mysql_default); - Conn Type:
MySQL; - Host:对应之前的host;
- Schema:
airflow; - Login:
airflow_user; - Password:
your_password; - Port:
3306;
- Conn Id:自定义(如
- 点击Test验证连接是否成功。
内容的提问来源于stack exchange,提问作者Bluetail
相关产品推荐
相关产品推荐

