Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby+MySQL连接到本地主机上的数据库时出错_Mysql_Ruby - Fatal编程技术网

Ruby+MySQL连接到本地主机上的数据库时出错

Ruby+MySQL连接到本地主机上的数据库时出错,mysql,ruby,Mysql,Ruby,我几天都在处理这个问题,无法连接到localhost上的简单mysql数据库 require "mysql" @db_host = "localhost" @db_user = "myrubyapp" @db_pass = "1234" @db_name = "myrubyapp" mysql = Mysql.new(:host => @db_host, :username => @db_user, :password => @db_pass, :database =>

我几天都在处理这个问题,无法连接到localhost上的简单mysql数据库

require "mysql"

@db_host = "localhost"
@db_user = "myrubyapp"
@db_pass = "1234"
@db_name = "myrubyapp"

mysql = Mysql.new(:host => @db_host, :username => @db_user, :password => @db_pass, :database => @db_name)
我得到的输出是一个错误:无法将Hash转换为字符串TypeError,其中Mysql.new为

第二个,我试着把gem改成mysql2

require "mysql2"

@db_host = "localhost"
@db_user = "myrubyapp"
@db_pass = "1234"
@db_name = "myrubyapp"

mysql = Mysql2.new(:host => @db_host, :username => @db_user, :password => @db_pass, :database => @db_name)
输出也是一个错误,但与Mysql2:Module NoMethodError的第一个:undefined新方法不同

伙计们,很抱歉我不得不问这样的问题,但我真的很困惑,我有超过3年的JavaSE和EE编程经验,我很惭愧,因为我不能处理这些问题。请给我指出正确的方向,不要苛责我。我是Ruby新手。

试试看

mysql = Mysql2::Client.new(:host => @db_host, :username => @db_user, :password => @db_pass, :database => @db_name)
试一试

正确的语法是:

client = Mysql2::Client.new(:host => "localhost", :username => "root")
有关更多示例,请参见

我建议您看看原始的mysql2库提供的功能非常有限,Sequel可以做很多事情

正确的语法是:

client = Mysql2::Client.new(:host => "localhost", :username => "root")
有关更多示例,请参见


我建议您看看原始的mysql2库提供的功能非常有限,Sequel可以做很多事情

从未使用过gem-mysql,但是您是否尝试过删除hash:host=>etc并直接传递参数列表? 比如con=Mysql.new db\u host、db\u user、db\u pass、db\u name
对于教程,您从未使用过gem-mysql,但是您是否尝试过删除hash:host=>etc并直接传递参数列表? 比如con=Mysql.new db\u host、db\u user、db\u pass、db\u name
对于教程

无法连接到localhost 10061上的MySQL服务器Mysql2::错误,我试图将其替换为localhost-127.0.0.1并进行连接,但原因是?可能是localhost未解析为127.0.0.1,或者您有一个防火墙,其端口仅为127.0.0.1打开。你在用什么操作系统?如果是Linux或OSX变体,您是否在/etc/hosts文件中看到127.0.0.1 localhost或127.0.0.1 localhost.localdomain localhost?无法连接到localhost 10061上的MySQL服务器Mysql2::我尝试放置的错误,而不是localhost-127.0.0.1,并且它已连接,但为什么呢?可能是因为localhost没有解析为127.0.0.1,或者您有一个防火墙,其端口仅为127.0.0.1打开。你在用什么操作系统?如果是Linux或OSX变体,您是否在/etc/hosts文件中看到127.0.0.1 localhost或127.0.0.1 localhost.localdomain localhost?感谢您提供的链接和建议,我将尝试作为备选方案:感谢您提供的链接和建议,我将尝试作为备选方案: