Tag Archives: MySQL

Installering af MySQL gem

I forbindelse med mit bachelorprojekt, hvor jeg benytter mig af (http://www.rubyonrails.org/ “Ruby on Rails”), begyndte jeg at få følgende fejl.

DEPRECATION WARNING: You’re using the Ruby-based MySQL library that ships with
Rails. This library will be REMOVED FROM RAILS 2.2. Please switch to the
offical mysql gem: `gem install mysql` See
http://www.rubyonrails.org/deprecation for details. (called from mysql_connection at /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/connection_adapters/mysql_adapter.rb:81)

Så var der jo ikke andet at gøre end at køre den kommendo som beskeden foreslog. Det plejer at være dejligt nemt at installer gems. Men nej.

$ sudo gem install mysql

Gav følgende resultat.

Building native extensions. This could take a while…
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/opt/local/bin/ruby extconf.rb install mysql
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lm… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lz… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lsocket… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lnsl… no
checking for mysql_query() in -lmysqlclient… no
*** extconf.rb failed ***

Det undrede jeg mig så lidt over, indtil jeg efter at have søgt lidt på [google](http://www.google.com/ “Google”) fandt nogen med samme problemer.
Det skyldes hovedsaglig at min [MySQL](http://www.mysql.com/ “MySQL Query Analyzer – Improving SQL Query Performance”) er installeret lidt specielt. Nemlig i `/opt/local/lib/mysql5/` og alle mysql-relaterede programmer i min $PATH hedder noget med mysql_*5.
Derfor kunne gem-pakken ikke blive installeres automatisk, og man må hjælpe den lidt på vej, med at fortælle hvor `mysql_config` rigtig ligger, hvilket f.eks. kan findes ved at køre følgende i [iTerm](http://iterm.sourceforge.net/ “iTerm”).

$ locate mysql_config
/opt/local/bin/mysql_config5
/opt/local/lib/mysql5/bin/mysql_config
/opt/local/share/man/man1/mysql_config.1.gz

Herefter kan følgende køres.

$ sudo gem install mysql — –with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config
Building native extensions. This could take a while…
Successfully installed mysql-2.7
1 gem installed

Wuhoo, nu kommer der ingen DEPRECATION WARNING mere :)

SQL i TextMate

Igen kommer min [ynglingseditor, TextMate](http://macromates.com) mig til undsætning, når man lige mangler et smart program.
I forbindelse med et kursus på DTU, skal vi lave nogle udtræk fra en mysql database. Her begyndte jeg først at skrive dem direkte i MySQL konsol, men det bliver man ret hurtigt træt af når de udtryk man skal lave fylder et par linjer.
Derfor undersøgte jeg lige om TextMate nu kunne noget smart, og heldigvis findes der en SQL-bundle som standard.

![Sqlbundle](http://lauer.dk/wp-content/sqlbundle.png)

Vælg først perferences, og sæt op forbindelse. Jeg har ændret lidt i min bundle, så jeg kan eksekvere sql-kommendoen ved CMD + R.

![sqlbundle_perferences](http://lauer.dk/wp-content/sqlbundle-perferences.png)

Her lige et screenshot når man udfører kommandoer. Man får nemlig en hel SQL browser med.

![Sqlbundle Browser](http://lauer.dk/wp-content/sqlbundle-browser.png)

Btw, altid rart med Cmd + Shift + 4 når man skal tage hurtige screenshots. Og hvis man trykker på space, kan man hurtigt snappe et vindue. Jeg er simpelthen vil med [MacOS X](http://www.apple.com/macosx/).