Catalyst создать схему не может подключиться, но я могу

0

Итак, я могу соединиться с (очевидно, я заменил все реальные значения)

mysql -u username -p -h db.dbhostname.com dbname

Но когда я запускаю Catalyt create script, я получаю

$ ./script/dasgift_create.pl model DB \
    DBIC::Schema MyApp::Schema create=static \
    components=TimeStamp \
    dbi:mysql:dbname:db.dbhostname.com username p@55w0rd
DBIx::Class::Schema::Loader::make_schema_at():
DBI Connection failed:
DBI connect('dbname:db.dbhostname.com','username',...) failed:
Access denied for user 'username'@'whereiam.com' (using password: YES)
at /opt/local/lib/perl5/site_perl/5.8.9/DBIx/Class/Storage/DBI.pm line 1104

Его поведение, подобное серверу db, не позволяет подключаться с whereiam.com, но я могу подключиться через командную строку просто отлично и попытался открыть db до соединений из любой точки временно, но без успеха. Извините за небольшую информацию, которую я мог бы предоставить, но все, что у меня есть.

Теги:
catalyst
dbd

2 ответа

1
Лучший ответ

Извините, что потратил ваше время. Я чувствую себя придурком. У моего пароля был знак доллара, и я не потрудился поместить его в кавычки, поэтому он по сути усекал пароль, пытаясь расширить переменную окружения. Цитируя его, исправлена ​​проблема. Еще раз спасибо за ваш ответ hobbs, кстати, также работает оригинальная строка подключения.

  • 0
    Достаточно забавно, но я почти поместил имя пользователя и пароль в одинарные кавычки в своем примере «для безопасности», но я сказал: «Ну, знаки-знаки не нуждаются в цитировании в оболочке ...» и не сделал этого. Ну что ж, рад слышать, что это простой недосмотр, а не гнусная ошибка.
  • 0
    пожалуйста, не забудьте принять ваш ответ.
Показать ещё 1 комментарий
1

Я не думаю, что mysql DSNs работают именно так. Попробуйте запустить script как:

./script/dasgift_create.pl model DB DBIC::Schema MyApp::Schema \
create=static components=TimeStamp \
'dbi:mysql:database=dbname;host=db.dbhostname.com' \
username p@55w0rd

(измененная часть - это только DSN, но я отформатировал ее с помощью символов обратной косой черты для вас, чтобы вы могли вставить ее, если хотите).

  • 0
    Все еще не идти. Строка подключения, которая у меня есть, и новая, предоставленная вами, работают из небольшого 10-строчного тестового сценария, который просто использует DBI, подготавливая и выполняя простой выбор. Кроме того, я исключил опечатки, скопировав то, что у меня было в командной строке, в этот тестовый скрипт. Спасибо за быстрое продолжение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню