我正在尝试为我的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)
如何修复?
2条答案
按热度按时间bksxznpy1#
您的mysql服务将无法在
localhost
.必须使用服务名称
mysql
作为主机名。参见文档。
yrdbyhpb2#
你的问题似乎与此相似。这里提到的解决方法是,您需要通过tcp而不是socket进行连接。
另外,我建议您查看gitlab有关mysql服务的文档。