Problems using rake db:create

Hi all,

I’m installing zammad from source, since we need to have mysql instead of postgres. Everything installed smoothly until the rake db:create command. Here is some info:

  • Used Zammad version: 3.4.0
  • Used Zammad installation source: (source, package, …) from source
  • Operating system: Ubuntu 18.04 LTS on a azure vm

Expected behavior:

*Building the database

Actual behavior:

zammad@Zanmad:~$ rake db:create
nil versions are discouraged and will be deprecated in Rubygems 4
rake aborted!
Mysql2::Error: Access denied for user 'zammad'@'localhost' to database 'zammad_production'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/mysql2-0.4.10/lib/mysql2/client.rb:89:in `connect'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/mysql2-0.4.10/lib/mysql2/client.rb:89:in `initialize'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/mysql2_adapter.rb:22:in `new'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/mysql2_adapter.rb:22:in `mysql2_connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:830:in `new_connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:874:in `checkout_new_connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:853:in `try_to_checkout_new_connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:814:in `acquire_connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:538:in `checkout'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:382:in `connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1033:in `retrieve_connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_handling.rb:118:in `retrieve_connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/connection_handling.rb:90:in `connection'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/model_schema.rb:466:in `load_schema!'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/attributes.rb:234:in `load_schema!'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/attribute_decorators.rb:51:in `load_schema!'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/model_schema.rb:459:in `block in load_schema'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/model_schema.rb:456:in `load_schema'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/model_schema.rb:336:in `columns_hash'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1070:in `arel_column'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1179:in `order_column'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1169:in `block (2 levels) in preprocess_order_args'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1164:in `each'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1164:in `map'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1164:in `block in preprocess_order_args'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1159:in `map!'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:1159:in `preprocess_order_args'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:297:in `order!'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:292:in `order'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.3/lib/active_record/querying.rb:12:in `order'
/opt/zammad/app/models/setting.rb:104:in `load'
/opt/zammad/app/models/setting.rb:55:in `get'
/opt/zammad/lib/zammad/application/initializer/db_preflight_check/mysql2.rb:36:in `check_max_allowed_packet'
/opt/zammad/lib/zammad/application/initializer/db_preflight_check/mysql2.rb:20:in `perform'
/opt/zammad/lib/zammad/application/initializer/db_preflight_check.rb:11:in `perform'
/opt/zammad/config/initializers/db_preflight_check.rb:4:in `<main>'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:285:in `block in load'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:257:in `load_dependency'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:285:in `load'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/engine.rb:663:in `block in load_config_initializer'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.3/lib/active_support/notifications.rb:170:in `instrument'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/engine.rb:662:in `load_config_initializer'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/engine.rb:619:in `each'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/engine.rb:619:in `block in <class:Engine>'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/initializable.rb:32:in `instance_exec'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/initializable.rb:32:in `run'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/initializable.rb:61:in `block in run_initializers'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/initializable.rb:50:in `each'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/initializable.rb:50:in `tsort_each_child'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/initializable.rb:60:in `run_initializers'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/application.rb:361:in `initialize!'
/opt/zammad/config/environment.rb:5:in `<main>'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:291:in `block in require'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:257:in `load_dependency'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:291:in `require'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/application.rb:337:in `require_environment!'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.3/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/opt/zammad/.rvm/gems/ruby-2.6.5/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
/opt/zammad/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `eval'
/opt/zammad/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => db:create => db:load_config => environment

Steps to reproduce the behavior:

Spin up ubuntu 18.04 vm
Follow instructions here: https://docs.zammad.org/en/latest/install/source.html
Use rake db:create

I would love to use the other option and install zammad via deb, but our erp system runs on mysql, and we need access to the database.

Thanks! :slight_smile:

Well there’s your problem.

Yes I know, but I can login using mysql to my database. With the same password I set.

I suspect that your MySQL-Server is not running on the local machine? At least that’s my shot in the blue because you said you need to use MySQL because of an existing system. I won’t question that objective and goal.

If I’m right, your database configuration in Zammad terms if incorrect.

I can’t tell more without seeing your configuration (redacted of course), because I’m no magican. ;-(
My guess is that you don’t want to connect to localhost and didn’t update your configuration accordingly.

Mysql is running op my azure vm:

zammad@Zanmad:~$ service mysql status
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-07-21 07:31:56 UTC; 26min ago
 Main PID: 1808 (mysqld)
    Tasks: 29 (limit: 4648)
   CGroup: /system.slice/mysql.service
           └─1808 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
zammad@Zanmad:~$

Here is the configuration for database.yml:

# this is a database config sample for zammad ready to use with a postgresql db
# copy or symlink this file to config/database.yml to use it

default: &default
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: 50
  timeout: 5000
  encoding: utf8

  ##### postgresql config #####

  # adapter: postgresql
  # username: zammad
  # password:

  # If the database server is not on localhost, you can set hostname and port:
  # host:
  # port:

  #### mysql config #####

  adapter: mysql2
  database: zammad_production
  username: zammad
  password: <password>
  
  # If the database server is not on localhost, you can set hostname and port:
  # host:
  # port:

production:
  <<: *default
  database: zammad_production

development:
  <<: *default
  database: zammad_development

I feel kinda stupid. But I named the database zammad_prodcution, but it requires zammad_prod… Changed that and it’s up and running now.

I’m glad you could solve the issue. Didn’t think it was that easy. :-X

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.