gpt4 book ai didi

mysql - 将 ruby​​ 脚本连接到在 Ec2 上运行的 Mysql 数据库时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:11 24 4
gpt4 key购买 nike

我用 Ruby 创建了一个小脚本,看看我是否可以在 Amazon Ec2 AMI (Ubuntu 64b) 上操作 mysql 数据库上的数据。我在实例的安全组下的权限中添加了 SSH 和 MYSQL。我能够将脚本连接到数据库(使用 mysql2 gem),但它不再有效,我不明白为什么我一直有错误:

mysql2/client.rb:58:in `connect': Can't connect to MySQL server on 'XX.XXX.XX.XXX (60) (Mysql2::Error)

这是我正在使用的脚本

require 'rubygems'
require 'mysql2'
require 'net/ssh/gateway'


gateway = Net::SSH::Gateway.new('ec2-XX-XX-XX-XX.compute-1.amazonaws.com',
'ec2-user',
:keys => ['/XXXX/XXXXX.pem'])
port = gateway.open("XX.XXX.XX.XXX",3306,3307)

baseDeDatos= Mysql2::Client.new(:host => "XX.XXX.XX.XXX", :database=> "x" ,:username => "x", :password => "x")

puts "I made it!"

baseDeDatos.close

gateway.close(port)
gateway.shutdown!'

有没有人可以阐明我的问题?我很困惑,因为它几天前就开始工作了,但它没有(我没有更改任何权限或任何东西)。当然我检查了MYSQL数据库是否正常。

提前致谢。

最佳答案

您可能没有在 mysql 数据库端授予远程权限吗?默认情况下,这些权限不可用。

编辑: 如果连接是从 ec2 实例内部而不是外部建立的,那么您肯定没有对用户授予权限。

关于mysql - 将 ruby​​ 脚本连接到在 Ec2 上运行的 Mysql 数据库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18297069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com