Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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
Mysql 在Rails应用程序中连接远程数据库服务器失败_Mysql_Ruby On Rails_Firewall - Fatal编程技术网

Mysql 在Rails应用程序中连接远程数据库服务器失败

Mysql 在Rails应用程序中连接远程数据库服务器失败,mysql,ruby-on-rails,firewall,Mysql,Ruby On Rails,Firewall,使用Rails 3.2、mysql2 gem和MariaDB 5.5。我在第一次尝试部署应用程序时遇到以下错误: Mysql2::错误:拒绝用户“abc”@“%”访问数据库“app\u production” 我不知道为什么'abc'@'中的百分比符号% 这是我的数据库。yml: production: adapter: mysql2 encoding: utf8 reconnect: true host: db.domain.com port: 3306 databas

使用Rails 3.2、mysql2 gem和MariaDB 5.5。我在第一次尝试部署应用程序时遇到以下错误:

Mysql2::错误:拒绝用户“abc”@“%”访问数据库“app\u production”

我不知道为什么
'abc'@'
中的百分比符号
%

这是我的
数据库。yml

production:
  adapter: mysql2
  encoding: utf8
  reconnect: true
  host: db.domain.com
  port: 3306
  database: app_production
  pool: 5
  username: abc
  password: some_password_here
  socket: /run/mysqld/mysqld.sock

My
/etc/mysql/My.cnf
已经绑定了0.0.0.0,防火墙被
sudo iptables-F

临时禁用。听起来用户
abc
没有用mysql设置。转到您的MySQL客户端,确保已创建用户(使用该数据库)。

此错误是由于该用户具有访问数据库的权限,因此您必须授予该用户访问上述数据库的权限。查找下面的命令以授予权限。在mysql终端上运行这些命令

GRANT ALL PRIVILEGES ON app_production.* TO 'abc'@'%'  WITH GRANT OPTION
FLUSH PRIVILEGES

%
是一个通配符。还有更多关于这方面的信息,谢谢。我将通配符
%
替换为
ip\u地址