¿Cómo funciona Perl DBD :: mysql en OS X 10.7?

Parece que no puedo hacer que Perl y MySQL hablen entre sí en OS X 10.7 Lion.

Hice todas las instalaciones del libro, utilicé el instalador PKG de Oracle para el server de comunidad MySQL más reciente e instalé DBI y DBD :: mysql a través de CPAN. No hubo ningún problema durante la installation, pero cuando bash usar DBD :: mysql para conectarme a mi server de database local, aparece el siguiente error:

  • MacBook tiene 2 counts de invitado, una con una contraseña que nunca configuré
  • ¿Cómo puedo cambiar DPI en OS X?
  • ¿Cómo formatear el dispositivo USB OS instalador que viene con MacBook Air?
  • Administrador de descarga para Mac OS X
  • Todos los íconos pnetworkingeterminados de OS X desaparecieron
  • ¿Cómo puedo establecer asociaciones de progtwigs en mac?
  • install_driver(mysql) failed: Can't load '/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 1): Library not loaded: /usr/local/mysql/lib/libmysqlclient.16.dylib Referenced from: /Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle Reason: image not found at /System/Library/Perl/5.12/darwin-thread-multi-2level/DynaLoader.pm line 204. at (eval 3) line 3 Comstacktion failed in require at (eval 3) line 3. Perhaps a requinetworking shanetworking library or dll isn't installed where expected 

    Después de search en Google todo lo que pude encontrar me sugirieron hacks, así que le di una oportunidad a este: http://arkoftech.wordpress.com/2011/02/10/fixing-dbdmysql-for-mysql-5-5-89 -under-macos-10-6-x /

    Tuve que actualizar algunas de las routes en las instrucciones ya que en Lion es Perl 5.12 no 5.10.

    Después de hacer eso, recibí un nuevo error:

     dyld: lazy symbol binding failed: Symbol not found: _mysql_init Referenced from: /Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle Expected in: flat namespace dyld: Symbol not found: _mysql_init Referenced from: /Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle Expected in: flat namespace Trace/BPT trap: 5 

    Debe haber una manera simple de get MySQL y Perl trabajando en OS X? – ¡AYUDA!

  • Problemas para entender la memory inactiva en MacOSX
  • ¿Puedo navegar por todas las palabras en la vista de list única en el dictionary Mavericks?
  • ¿Cómo puedo search fotos en iPhone en Mac OSX?
  • ¿Algún consejo sobre la resolución de problemas de inestabilidad en Mountain Lion OS X 10.8.4?
  • ¿Por qué mac smb connect falla con el inicio de session desde cli pero funciona desde el buscador y con la count de invitado?
  • Xcode se bloquea al crear una salida en OSX Yosemite
  • 3 Solutions collect form web for “¿Cómo funciona Perl DBD :: mysql en OS X 10.7?”

    Después de un poco de frustración, finalmente encontré una solución simple que funciona.

    Los detalles más destacados son que debe actualizar DYLD_LIBRARY_PATH para include /usr/local/mysql/lib . La manera más fácil de hacerlo es agregar lo siguiente a su file ~/.bashrc :

     export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH" 

    Entré a un poco más de detalle en una publicación de blog aquí: http://www.bartbusschots.ie/blog/?p=2186

    Tenía los mismos síntomas, pero un problema diferente: Perl, de forma pnetworkingeterminada, se ejecuta como ejecutable de 64 bits, pero mi installation de MySQL y, por lo tanto, todas sus bibliotecas son solo de 32 bits. Obligar a Perl a funcionar en modo de 32 bits lo resolvió:

     defaults write com.apple.versioner.perl Prefer-32-Bit -bool yes 

    Pude hacer que funcionara usando:

    sudo ln -s /usr/local/mysql/lib/*.dylib.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).