# Learning ruby on Mac - rake create error

**URL:** <https://www.ruby-forum.com/t/learning-ruby-on-mac-rake-create-error/175082>\
**Category:** Rails\
**Created:** [September 7, 2009, 3:10pm UTC](https://www.ruby-forum.com/t/learning-ruby-on-mac-rake-create-error/175082 "2009-09-07T15:10:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![kkoehler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/aeb1de/32.png) [@kkoehler](https://www.ruby-forum.com/u/kkoehler)\
**Post date:** [September 7, 2009, 3:10pm UTC](https://www.ruby-forum.com/t/learning-ruby-on-mac-rake-create-error/175082/1 "2009-09-07T15:10:48Z")

</div>

I can do a mysql -u root and then type in create database  
restaurant\_test, development, production but when I run

rake db:create:all I get:

(in  
/Users/katherinekoehler/Documents/workspace/kkoehler/classes/ruby/lesson5/restaurant)  
Couldn’t create database for {“socket”=\>"/tmp/mysql.sock",  
“reconnect”=\>false, “encoding”=\>“utf8”, “username”=\>“root”,  
“adapter”=\>“mysql”, “host”=\>“localhost”, “password”=\>nil,  
“database”=\>“restaurant\_development”, “pool”=\>5}, charset: utf8,  
collation: utf8\_general\_ci (if you set the charset manually, make sure  
you have a matching collation)  
Couldn’t create database for {“socket”=\>"/tmp/mysql.sock",  
“reconnect”=\>false, “encoding”=\>“utf8”, “username”=\>“root”,  
“adapter”=\>“mysql”, “host”=\>“localhost”, “password”=\>nil,  
“database”=\>“restaurant\_production”, “pool”=\>5}, charset: utf8,  
collation: utf8\_general\_ci (if you set the charset manually, make sure  
you have a matching collation)  
Couldn’t create database for {“socket”=\>"/tmp/mysql.sock",  
“reconnect”=\>false, “encoding”=\>“utf8”, “username”=\>“root”,  
“adapter”=\>“mysql”, “host”=\>“localhost”, “password”=\>nil,  
“database”=\>“restaurant\_test”, “pool”=\>5}, charset: utf8, collation:  
utf8\_general\_ci (if you set the charset manually, make sure you have a  
matching collation)

My .yml files:

development:  
adapter: mysql  
encoding: utf8  
reconnect: false  
database: restaurant\_development  
pool: 5  
username: root  
password:  
host: localhost  
socket: /tmp/mysql.sock

/tmp/mysql.sock exists

My mysql process:

74 195 173 0 32:13.26 ?? 109:41.08 /sw/sbin/mysqld --basedir=/sw  
–datadir=/sw/var/mysql --user=mysql  
–pid-file=/sw/var/mysql/katherine-koehlers-macbook-pro.local.pid -u  
root

I also did a sudo gem update mysql-ruby to make sure I had the latest  
libraries.

I’ve spent hours on this. Any ideas?

Kathy

---

<div class="post-metadata">

**Author:** ![kkoehler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/aeb1de/32.png) [@kkoehler](https://www.ruby-forum.com/u/kkoehler)\
**Post date:** [November 8, 2009, 2:31am UTC](https://www.ruby-forum.com/t/learning-ruby-on-mac-rake-create-error/175082/2 "2009-11-08T02:31:11Z")

</div>

i was using sqlite for the past few projects and getting things  
running smoothly enough  
recently getting macports, git, installing a git module; geokit  
turns out geokit has more functionality in mysql / postgress then  
sqlite, namely distancing functions

i create the project as mysql, scaffold a location model then try to  
run db:create  
but i fail on rake db:create command

`
Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8",
"username"=>"***", "adapter"=>"mysql", "database"=>"v3_development_2",
"pool"=>5, "password"=>"***", "socket"=>"/tmp/mysql.sock"}, charset:
utf8, collation: utf8_general_ci (if you set the charset manually,
make sure you have a matching collation)
`

\*\*\* used for username and password

i can login to mysql with the username and password  
s displays current character set latin1  
i can change to utf8, run the command and get same error  
if i restart mysql, it returns to latin1

is character set really the issue?  
do i need directory user permissions to create the db from rails?

rails 2.3.3  
ruby 1.8.7  
mysql 5.1.39

`
mysql Ver 14.14 Distrib 5.1.39, for apple-darwin9.5.0 (i386) using
readline 5.1
Connection id: 438
SSL: Not in use
Current pager: stdout
Using outfile: ‘’
Using delimiter: ;
Server version: 5.1.39 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 14 min 32 sec
`

---

<div class="post-metadata">

**Author:** ![kkoehler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/aeb1de/32.png) [@kkoehler](https://www.ruby-forum.com/u/kkoehler)\
**Post date:** [September 9, 2009, 2:58am UTC](https://www.ruby-forum.com/t/learning-ruby-on-mac-rake-create-error/175082/3 "2009-09-09T02:58:29Z")

</div>

rake db:create:all works fine here:

/mystest 741 \> mysql --version  
mysql Ver 14.14 Distrib 5.1.31, for apple-darwin9.5.0 (powerpc) using  
readline 5.1  
/mystest 742 \> gem list mysql

\*\*\* LOCAL GEMS \*\*\*

mysql (2.8.1)  
/mystest 743 \> cat config/database.yml

# MySQL. Versions 4.1 and 5.0 are recommended.

# 

# Install the MySQL driver:

# gem install mysql

# On Mac OS X:

# sudo gem install mysql – --with-mysql-dir=/usr/local/mysql

# On Mac OS X Leopard:

# sudo env ARCHFLAGS=“-arch i386” gem install mysql – --with-mysql-

config=/usr/local/mysql/bin/mysql\_config

# This sets the ARCHFLAGS environment variable to your native

architecture

# On Windows:

# gem install mysql

# Choose the win32 build.

# Install MySQL and put its /bin directory on your path.

# 

# And be sure to use new-style password hashing:

# [http://dev.mysql.com/doc/refman/5.0/en/old-client.html](http://dev.mysql.com/doc/refman/5.0/en/old-client.html)

development:  
adapter: mysql  
encoding: utf8  
reconnect: false  
database: mystest\_development  
pool: 5  
username: root  
password:  
host: localhost

.  
.  
.

NOTE: the gem installs with: sudo gem install mysql

I can reproduce your error message if I hand in an incorrect username  
or password so I’m guessing the utf8 and matching collation is  
gibberish meant to confound the confusible;-()

On Sep 7, 9:10 am, Kathy K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![kkoehler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/aeb1de/32.png) [@kkoehler](https://www.ruby-forum.com/u/kkoehler)\
**Post date:** [November 8, 2009, 9:38am UTC](https://www.ruby-forum.com/t/learning-ruby-on-mac-rake-create-error/175082/4 "2009-11-08T09:38:59Z")

</div>

so is this mysql default charset as latin1 really a problem?

---

<div class="post-metadata">

**Author:** ![kkoehler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/aeb1de/32.png) [@kkoehler](https://www.ruby-forum.com/u/kkoehler)\
**Post date:** [November 13, 2009, 8:10pm UTC](https://www.ruby-forum.com/t/learning-ruby-on-mac-rake-create-error/175082/5 "2009-11-13T20:10:16Z")

</div>

I am having a similar problem. Did you find a solution?
