rake db:create - collation issues
Solution 1
I was having the same problem than you, me and my friends were all going mad because of it, until we've found this link http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard
I've just followed the mysql installation steps and it worked great here :]
Solution 2
Re-install mysql-server and mysql-client using this command:
sudo apt-get install mysql-server mysql-client
and then some libraries you need to install to make MySQL available to ruby:
sudo apt-get install libmysql-ruby
This all solved my problem. Try it !!! :)
Solution 3
I happened on same problem after installing new database server MySQL5.0 to 5.1. If you have installed new db-server, Your mysql gem library is not suitable for your database server. You may solve this by reinstall mysql gem lib.
sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/your/mysql_config
Solution 4
I just encountered this as well on a fresh Snow Leopard install.
I had another project that created the databases without issue, but my primary project would give the errors you described. After poking around, the only difference was the former specified a socket, whereas the failing project (and yours too) uses a host.
That is to say, this database.yml causes the problem:
development:
adapter: mysql
database: fanvsfan_development
username: root
password:
host: localhost
But this works:
development:
adapter: mysql
database: fanvsfan_development
username: root
password:
socket: /tmp/mysql.sock
I'm unsure what the actual difference is, but this seems like a workaround.
Solution 5
Using RVM? Do this for Rails v 2.3
export ARCHFLAGS="-arch x86_64" ; gem install --no-rdoc --no-ri mysql -v 2.7 -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/mysql/bin/mysql_config
Zach Inglis
Updated on June 04, 2022Comments
-
Zach Inglis almost 2 years
kratos-iii:railsproj zachinglis$ rake db:create (in /Users/zachinglis/Sites/rails/railsproj) Couldn't create database for {"adapter"=>"mysql", "host"=>"localhost", "username"=>"root", "password"=>nil, "database"=>"railsproj_development"}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation)
I had no issues using Sequel Pro and even creating said database.
How do I resolve this? Having an empty password never gave me issues before. And I really doubt thats it.
-
Zach Inglis over 14 yearsThe database exists, I can access MySQL. I created the db as a test & created a table. I started FRESH on Snow Leopard. All environments fail similarly. Backtrace: ** Invoke db:create (first_time) ** Invoke db:load_config (first_time) ** Invoke rails_env (first_time) ** Execute rails_env ** Execute db:load_config ** Execute db:create Couldn't create database for {"adapter"=>"mysql", "host"=>"localhost", "username"=>"root", "password"=>nil, "database"=>"railsproj_development"}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation)