无法使用gitlab-ci.yml连接到MySql
我正在尝试为我的Rails项目创建gitlab ci文件。my.gitlab-ci.yml的一部分:无法使用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
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”?