Я пытаюсь получить мой первый пример рельсов "hello world", используя руководство по началу работы с rails на моем OSX 10.6.3.
Когда я иду выполнить первую команду rake db:create
(я использую mysql), я получаю:
simon@/Users/simon/source/rails/blog/config: rake db:create (in /Users/simon/source/rails/blog) Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"=>"root", "adapter"=>"mysql", "database"=>"blog_development", "pool"=>5, "password"=>nil, "socket"=>"/opt/local/var/run/mysql5/mysqld.sock"}, charset: utf8, collation: utf8_unicode_ci (if you set the charset manually, make sure you have a matching collation)
Я нашел много вопросов о стековом потоке, решающих эту проблему со следующим советом:
Убедитесь, что имя пользователя и пароль верны (я использую пароль w / no для root в моем устройстве dev)
Убедитесь, что сокет правильный - я могу отследить сокет, поэтому я предполагаю, что он правильный
Убедитесь, что пользователь может создать БД (как вы видите, root может подключиться и создать эту БД без проблем)
simon @ / Users / simon / source / rails / blog / config: mysql -uroot -hlocalhost
Добро пожаловать на монитор MySQL. Команды заканчиваются на; или \ g.
Ваш идентификатор соединения MySQL - 16
Версия сервера: 5.1.45 Исходный дистрибутив
Введите 'help;' или '\ h' за помощь. Введите '\ c', чтобы очистить текущий оператор ввода.
mysql> создать базу данных blog_development;
Запрос в порядке, затрагивается 1 строка (0,00 с)
, чтобы убедиться, что это не проблема с кодировкой, я также попытался:
mysql> create database foobar CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
Примечание: вот мой database.yaml:
development:
adapter: mysql
encoding: utf8
reconnect: false
database: blog_development
pool: 5
username: root
password:
socket: /opt/local/var/run/mysql5/mysqld.sock
# host: localhost
Обратите внимание, что я попытался переключить сокет на localhost безрезультатно.
Есть идеи о том, что здесь может происходить?