passing password to mysql

S

Stephan Wehner

I would like to use Ruby to open a mysql prompt for the user. The
password is read from a file, and should be passed to mysel. However, I
don't want to have the password appear in the list of processes (don't
use the mysql -p option)

A comment at the end of

http://dev.mysql.com/doc/refman/5.0/en/password-security-user.html

shows how to accomplish that within bash scripts, which is quite nice.
It works like the string in this code:

exec <<-END
{ printf
'[client]\ndatabase=%s\nhost=%s\nsocket=%s\nuser=%s\npassword=%s'
'db-dev' 'localhost' '/var/run/mysqld/mysqld.sock' 'db-user' 'db-passwd'
|
3<&0 <&4 4<&- /usr/local/mysql/bin/mysql --defaults-file=/dev/fd/3
} 4<&0
END

As you can see some clever use of file-descriptors. The exec-call works
in Ruby, and the mysql prompt is opened, but running "ps" will reveal
the password (not that surprising).

Is there a way to do this in Ruby?

Stephan
 
P

Phlip

Is there a way to do this in Ruby?

Grab ActiveRecord (part of Rails, ob-vossly), and write its database.yml file.
Oh, and actually use it to rip all your tables. It's just too easy to use!
 
S

Stephan Wehner

Phlip said:
Grab ActiveRecord (part of Rails, ob-vossly), and write its database.yml
file.
Oh, and actually use it to rip all your tables. It's just too easy to
use!

Ok thanks; however I find the mysql prompt sometimes easier and faster.
Not always but often enough.

Stephan
 
P

Phlip

Stephan said:
Ok thanks; however I find the mysql prompt sometimes easier and faster.
Not always but often enough.

If you mean raw SQL statements, just .execute() them. Otherwise, how does the
MySQL connection driver work? It has to solve your actual problem on the inside,
right?
 
S

Stephan Wehner

Phlip said:
If you mean raw SQL statements, just .execute() them. Otherwise, how
does the
MySQL connection driver work? It has to solve your actual problem on the
inside,
right?

Yes, I am aware of using connection.execute(..), select_all(...), etc.
However, I would like to be able to use the mysql prompt.


So is this a case where a bash script can do more than a Ruby script?


Stephan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,787
Messages
2,569,629
Members
45,334
Latest member
66Zeinab9

Latest Threads

Top