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
--
Posted via http://www.ruby-forum.com/.
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.
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?