使用Sequelize CLI v6.6.2执行db:create命令时遇连接错误
解决sequelize-cli执行
db:create失败及MySQL socket连接错误问题 问题根源
你的核心问题是本地MySQL服务未正常运行,直接执行mysql -u root -p报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2),导致sequelize-cli无法连接到MySQL服务,自然无法创建数据库。
解决步骤
1. 检查并启动MySQL服务
- Linux系统:
- 查看服务状态:
sudo systemctl status mysql - 若服务未运行,启动服务:
sudo systemctl start mysql - (可选)设置开机自启:
sudo systemctl enable mysql
- 查看服务状态:
- Windows系统:
- 打开服务管理器(按
Win+R输入services.msc),找到MySQL服务 - 若状态为“停止”,右键选择“启动”;也可执行命令:
net start mysql
- 打开服务管理器(按
2. 验证MySQL连接是否恢复
重新执行mysql -u root -p,输入密码(你的配置中密码为空,直接按回车),能进入MySQL命令行则说明连接正常。
3. 若服务运行仍报错,检查socket路径配置
- 找到MySQL配置文件:Linux为
/etc/mysql/my.cnf(或/etc/mysql/mysql.conf.d/mysqld.cnf),Windows为my.ini(通常在MySQL安装目录下) - 查找
socket参数,确认路径是否为/var/run/mysqld/mysqld.sock(Linux),若路径不符,修改配置后重启MySQL服务 - 或直接在sequelize配置中指定socket路径,更新你的
development配置:"development": { "username": "root", "password": "", "database": "Flights_Search_DB_DEV", "host": "127.0.0.1", "dialect": "mysql", "socketPath": "/var/run/mysqld/mysqld.sock" }
4. 重新执行sequelize-cli命令
确认MySQL连接正常后,执行npx sequelize db:create,即可成功创建目标数据库。
额外排查点
如果以上步骤无效,检查/var/run/mysqld目录权限:
sudo chown -R mysql:mysql /var/run/mysqld sudo chmod 755 /var/run/mysqld
修改后重启MySQL服务。
内容的提问来源于stack exchange,提问作者rahemanali
相关产品推荐
相关产品推荐

