gpt4 book ai didi

mysql - DBI::DatabaseError:用户错误访问被拒绝当使用 Ruby DBI 连接远程 Mysql 服务器时

转载 作者:行者123 更新时间:2023-11-29 18:29:49 26 4
gpt4 key购买 nike

这是我使用 DBI 的示例代码:

db = DBI.connect("DBI:Mysql:database=testdatabase;host=testhost;port=30012", "testuser", "testpassword")

它返回了,看起来没有问题:

#<DBI::DatabaseHandle:0x00000001c7f0f0 @handle=#<DBI::DBD::Mysql::Database:0x00000001c9f148 @handle=#<Mysql:0x00000001ca6678>, @attr={"AutoCommit"=>true}, @have_transactions=true, @mutex=#<Mutex:0x00000001c813f0>>, @trace_output=nil, @trace_mode=nil, @convert_types=true, @driver_name="Mysql"> 

然后我调用“prepare”方法:

sql = "select * from users where id in (?)"
dbh = db.prepare(sql)

看起来也不错(以下代码只是返回的一部分):

#<DBI::StatementHandle:0x00000005e404a8 @handle=#<DBI::DBD::Mysql::Statement:0x00000005e42118 @attr={}, @mutex=#<Mutex:0x00000001c813f0>, @handle=#<Mysql:0x00000001ca6678>, @parent=#<DBI::DBD::Mysql::Database:0x00000001c9f148 @handle=#<Mysql:0x00000001ca6678>, @attr={"AutoCommit"=>true}, @have_transactions=true, @mutex=#<Mutex:0x00000001c813f0>>

但是当我使用“执行”方法时:

dbh.execute('1,2,3')

然后出现错误:

DBI::DatabaseError: Access denied for user 'testuser'@'120.120.120.120' (using password: YES)

最佳答案

抱歉,我弄错了问题的方向,实际上,问题的原因是“into outfile”方法权限。它需要Mysql打开"file"权限。像这样:

grant file on *.* to 'username'@'hostname';

关于mysql - DBI::DatabaseError:用户错误访问被拒绝当使用 Ruby DBI 连接远程 Mysql 服务器时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45788967/

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