This looks like a permissions problem. Make sure you have a password set in your mysql and are able to login from the command line
mysql -u root -p
This should prompt you for your root password. If you can login there, that means you should be set. All you need to do then is put the password in your database.yml file and retry the rake command.
5.12.3 - exactly:
Vigor14:~ clt$ uname -a
Darwin Vigor14 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64
Vigor14:~ clt$
Vigor14:~ clt$ /usr/bin/perl -V
Summary of my perl5 (revision 5 version 12 subversion 3) configuration:
Platform:
osname=darwin, osvers=11.0, archname=darwin-thread-multi-2level
uname='darwin fifth.apple.com 11.0 darwin kernel version 11.0.0: sun may 29 13:02:55 pdt 2011; root:xnu-1699.22.44~4release_x86_64 x86_64 '
config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe -Dldflags= -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none -Dcc=llvm-gcc-4.2'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='llvm-gcc-4.2', ccflags ='-arch x86_64 -arch i386 -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include',
optimize='-Os',
cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='llvm-gcc-4.2 -mmacosx-version-min=10.7', ldflags ='-arch x86_64 -arch i386 -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lutil -lc
perllibs=-ldl -lm -lutil -lc
libc=, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-arch x86_64 -arch i386 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
Locally applied patches:
/Library/Perl/Updates/<version> comes before system perl directories
installprivlib and installarchlib points to the Updates directory
Built under darwin
Compiled at Jun 13 2011 14:45:31
%ENV:
PERLBREW_HOME="/Users/clt/.perlbrew"
PERLBREW_PATH="/Users/clt/perl5/perlbrew/bin"
PERLBREW_ROOT="/Users/clt/perl5/perlbrew"
PERLBREW_VERSION="0.27"
@INC:
/Library/Perl/5.12/darwin-thread-multi-2level
/Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level
/Network/Library/Perl/5.12
/Library/Perl/Updates/5.12.3
/System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12
/System/Library/Perl/Extras/5.12/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.12
.
Vigor14:~ clt$
Just compiled perlbrew with the new Xcode (downloaded from the AppStore):
Vigor14:~ clt$ perlbrew install perl-5.14.1
Fetching perl-5.14.1 as /Users/clt/perl5/perlbrew/dists/perl-5.14.1.tar.gz
Installing /Users/clt/perl5/perlbrew/build/perl-5.14.1 into ~/perl5/perlbrew/perls/perl-5.14.1
This could take a while. You can run the following command on another shell to track the status:
tail -f ~/perl5/perlbrew/build.log
Installed /Users/clt/perl5/perlbrew/build/perl-5.14.1 as perl-5.14.1 successfully. Run the following command to switch to it.
perlbrew switch perl-5.14.1
compiler:
Vigor14:~ clt$ gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2335.15~25/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2335.15~25/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
Best Answer
After quite a bit of frustration, I eventually found a simple solution that works.
The salient details are that you need to update the
DYLD_LIBRARY_PATH
to include/usr/local/mysql/lib
. The easiest way of doing that is to add the following to your~/.bashrc
file:I went into a little more detail in a blog post here: http://www.bartbusschots.ie/blog/?p=2186