mysql 客户端在供应期间以不支持的参数退出
mysql client exits with unsupported argunent during provisioning
我有一个 TF 脚本,它使用 amazon linux 部署一个 ec2 实例并安装 mariadb x86_64 1:5.5.62-1.amzn2.0.1。我希望在仅具有私有访问权限的 aurora 5.7 RDS 上自动创建数据库和用户。
问题是,在提供程序内联执行期间,我发出的每个 mysql 命令 returns 都出现错误:
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 打开到 public...
更新:
我在 script/commands 中没有--print-defaults。我还对整个文件系统进行了 grep,以寻找亚马逊中的一些默认设置 linux...还在配置程序执行期间和 ssh 连接后检查了环境变量,但我没有发现任何差异
谢谢
我最终得到了一个 nodejs 脚本,它执行 mysql 数据库设置并且工作正常:)
我有一个 TF 脚本,它使用 amazon linux 部署一个 ec2 实例并安装 mariadb x86_64 1:5.5.62-1.amzn2.0.1。我希望在仅具有私有访问权限的 aurora 5.7 RDS 上自动创建数据库和用户。
问题是,在提供程序内联执行期间,我发出的每个 mysql 命令 returns 都出现错误:
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 打开到 public...
更新: 我在 script/commands 中没有--print-defaults。我还对整个文件系统进行了 grep,以寻找亚马逊中的一些默认设置 linux...还在配置程序执行期间和 ssh 连接后检查了环境变量,但我没有发现任何差异
谢谢
我最终得到了一个 nodejs 脚本,它执行 mysql 数据库设置并且工作正常:)