【问题标题】:mysql client exits with unsupported argunent during provisioningmysql 客户端在配置期间以不受支持的参数退出
【发布时间】:2019-12-28 10:48:41
【问题描述】:

我有一个 TF 脚本,它使用 amazon linux 部署 ec2 实例并安装 mariadb x86_64 1:5.5.62-1.amzn2.0.1。我希望在只有私有访问权限的 aurora 5.7 RDS 上自动创建数据库和用户。

问题是,在provisioner内联执行期间,我发出的每个mysql命令都会返回一个错误:

aws_instance.instance (remote-exec): mysql: unknown option '--print-defaults'

通过 ssh 从实例运行相同的命令可以正常工作。

resource "aws_instance" "instance" {
    ami                         = "ami-0c3fd0f5d33134a76" #data.aws_ami.ami.id
    availability_zone           = local.az
    ebs_optimized               = var.instance_config.ebs_optimized
    instance_type               = var.instance_config.type
    monitoring                  = var.instance_config.monitoring
    key_name                    = var.instance_config.key_name
    subnet_id                   = local.subnet_id
    vpc_security_group_ids      = local.security_groups
    associate_public_ip_address = var.instance_config.associate_public_ip_address
    source_dest_check           = var.instance_config.source_dest_check
    iam_instance_profile        = aws_iam_instance_profile.profile.name

    root_block_device {
        volume_type           = var.instance_config.volume_type
        volume_size           = var.instance_config.volume_size
        delete_on_termination = var.instance_config.delete_on_termination
    }

    connection {
        host     = self.public_ip
        type     = "ssh"
        user     = "ec2-user"
        private_key = file(var.instance_config.private_key_path)
    }

    provisioner "remote-exec" {
        inline = local.commands  ### mysql commands are here
    }

}

mysql 命令是这样的

nmysql -h XXX.rds.amazonaws.com -u XXX -pXXX -e "CREATE DATABASE IF NOT EXISTS test;"

我尝试了内联执行,创建了一个脚本然后执行它,客户端的--no-defaults 选项,创建了具有相同问题的 ~/.my.cnf。 我真的很想避免手动登录以创建数据库并将 RDS 向公众开放......

更新: 我在脚本/命令中没有 --print-defaults。我还 grep 了整个文件系统,在 amazon linux 中寻找一些默认设置......还在配置程序执行期间和 ssh 连接后检查了 env 变量,但我没有发现任何差异

谢谢

【问题讨论】:

  • 您的示例命令不包括 -print 默认选项。实际上,在自动执行任何操作的脚本中包含该选项是没有意义的。
  • 这就是我在这里问的原因。我在脚本/命令中没有 --print*defaults。我还 grepped 了整个文件系统,在 amazon linux 中寻找一些默认设置......还在配置程序执行期间和 ssh 连接后检查了 env 变量,但我发现没有差异

标签: mariadb terraform amazon-aurora


【解决方案1】:

我最终得到了一个 nodejs 脚本,它可以设置 mysql 数据库并且工作得很好:)

【讨论】:

    猜你喜欢
    • 2016-09-02
    • 2011-09-26
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    相关资源
    最近更新 更多