无法使用gitlab-ci.yml连接到MySql

无法使用gitlab-ci.yml连接到MySql,mysql,ruby-on-rails,git,continuous-integration,gitlab,Mysql,Ruby On Rails,Git,Continuous Integration,Gitlab,我正在尝试为我的Rails项目创建gitlab ci文件。my.gitlab-ci.yml的一部分: image: ruby:2.3.4 variables: RAILS_ENV: test services: - mysql:5.7 before_script: - apt-get update -qq && apt-get install -yqq nodejs libmysqlclient-dev - ruby -v - which ruby

我正在尝试为我的Rails项目创建gitlab ci文件。my.gitlab-ci.yml的一部分:

image: ruby:2.3.4

variables:
  RAILS_ENV: test

services:
  - mysql:5.7


before_script:
  - apt-get update -qq && apt-get install -yqq nodejs libmysqlclient-dev
  - ruby -v
  - which ruby
  - gem install bundler --no-ri --no-rdoc
  - bundle install --jobs $(nproc) "${FLAGS[@]}"
  - cp config/database.gitlab_ci.yml config/database.yml
  - bundle exec rake db:create db:schema:load
  - bundle exec rake db:migrate --quiet
我无法让它连接到我的MySql数据库。不管我怎么努力

这是我数据库的一部分。gitlab_ci.ym:

test: &test
    adapter: mysql2
    database: my_db
    encoding: utf8
    username: my_user
    password: 1234
    host: localhost
我总是会遇到这样的错误:

  #<Mysql2::Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)>
  Couldn't create database for {"adapter"=>"mysql2", "database"=>"my_db", "encoding"=>"utf8", "username"=>"my_db", "password"=>1234, "host"=>"localhost"}, {:charset=>"utf8"}
  (If you set the charset manually, make sure you have a matching collation)
  rake aborted!
  Mysql2::Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
#“mysql2”、“数据库”=>“我的数据库”、“编码”=>“utf8”、“用户名”=>“我的数据库”、“密码”=>1234、“主机”=>“本地主机”},{:字符集=>“utf8”}
(如果手动设置字符集,请确保具有匹配的排序规则)
雷克流产了!
Mysql2::错误:无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器

如何解决它?

您的问题似乎与其他问题类似。这里提到的解决方法是,您需要通过TCP而不是套接字进行连接


另外,我建议您检查与MySQL服务相关的gitlab。

您的MySQL服务在
localhost
上不可用
您必须使用服务名
mysql
作为主机名。

请参阅。

当然可以通过tcp。但是您首先在我的database.yml中的什么位置看到“socket”?