You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux服务器Plesk CLI创建数据库报错:仅可在订阅内创建对象

解决Plesk创建数据库报错"This object can be created only in a subscription"的问题

我刚看到你碰到的这个问题,其实根源很直接:Plesk里的数据库必须归属到某个订阅(Subscription),你之前用的-domain参数并不适用于创建数据库的场景——这个参数更多是用来关联域名到已存在的数据库,而创建数据库的核心归属逻辑是绑定订阅,不是单个域名。

下面给你一步步的解决思路,还有完整的部署脚本示例:

1. 先找到域名所属的订阅

首先得确认你的myDomain域名属于哪个订阅,执行这条命令就能查到:

plesk bin domain --info myDomain | grep "Subscription"

输出会类似这样:Subscription: mySubscriptionName,这里的mySubscriptionName就是你后续要用到的订阅名称。

或者你也可以直接列出所有订阅,手动匹配对应的那一个:

plesk bin subscription --list

2. 修改创建数据库的命令

把原来的-domain参数替换成-subscription,指定刚才找到的订阅名称(用订阅ID也可以),正确的创建命令应该是:

plesk bin database --create myDbName -subscription mySubscriptionName -type mysql -server localhost

如果需要同时创建对应的数据库用户(大部分部署场景都需要),可以加上用户相关参数:

plesk bin database --create myDbName -subscription mySubscriptionName -type mysql -server localhost -login dbUser -password "YourStrongPass123!"

3. 完整的部署Shell脚本示例

下面是一个包含删除旧数据库→创建新数据库→导入SQL备份的完整脚本,你可以根据自己的实际需求调整参数:

#!/bin/bash

# 配置参数,请根据实际情况修改
DB_NAME="myDbName"
SUBSCRIPTION_NAME="mySubscriptionName"
BACKUP_PATH="/var/www/vhosts/myDomain.com/backups/db_backup.sql"
DB_TYPE="mysql"
DB_SERVER="localhost"

# 1. 删除现有数据库(如果存在)
echo "正在删除旧数据库..."
plesk bin database --remove $DB_NAME -subscription $SUBSCRIPTION_NAME -force 2>/dev/null
# -force参数跳过确认,2>/dev/null忽略数据库不存在的报错

# 2. 创建新数据库
echo "正在创建新数据库..."
plesk bin database --create $DB_NAME -subscription $SUBSCRIPTION_NAME -type $DB_TYPE -server $DB_SERVER

# 3. 导入SQL备份文件
echo "正在导入SQL备份..."
# 推荐用Plesk自带的导入命令,无需手动处理数据库密码
plesk bin database --import $DB_NAME -subscription $SUBSCRIPTION_NAME -dump-file $BACKUP_PATH

# 如果偏好mysql客户端导入,可以用下面的方式(需要先配置数据库用户)
# DB_USER="dbUser"
# DB_PASS=$(plesk bin database --show $DB_NAME -subscription $SUBSCRIPTION_NAME | grep "Password" | awk '{print $2}')
# mysql -u $DB_USER -p$DB_PASS $DB_NAME < $BACKUP_PATH

echo "数据库部署流程完成!"

一些注意事项

  • 脚本需要以root用户或拥有Plesk管理员权限的用户执行;
  • 确保BACKUP_PATH指向的SQL文件存在,并且当前用户有可读权限;
  • 如果备份文件是压缩格式(比如.gz),需要先解压:gunzip $BACKUP_PATH后再导入;
  • 执行脚本前可以先单独测试每个命令,确认参数无误。

内容的提问来源于stack exchange,提问作者onetyone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:17:28