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

ubof19bj  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(416)

我正在尝试为我的rails项目创建gitlab ci文件。我的.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\u 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)

如何修复?

bksxznpy

bksxznpy1#

您的mysql服务将无法在 localhost .
必须使用服务名称 mysql 作为主机名。
参见文档。

yrdbyhpb

yrdbyhpb2#

你的问题似乎与此相似。这里提到的解决方法是,您需要通过tcp而不是socket进行连接。
另外,我建议您查看gitlab有关mysql服务的文档。

相关问题