Una manera muy rápida de ejecutar queries en un base de datos remota desde la línea de comandos es usando funciones y alias de bash.
Agregar una función en el .bashrc
:
function activar_usuario() { if [ ! -z $1 ] then echo "SET @id=(SELECT id FROM users WHERE user_name='$1');UPDATE users SET status='Active', employee_status='Active' WHERE id = @id;" fi }
Agregar un alias en el .bash_aliases
:
alias db='mysql --default-character-set=utf8 --safe-updates -u sugar -psugar --database sugar -h lo --port 5678'
Ahora puedo activar un usuario de la base de datos sugar conectandome al servidor lo mediante el puerto 5678 (lo cual redirecciona al servidor MySQL real) con usuario sugar y password sugar:
Si ejecuto activar_usuario
, se construye el
query para el usuario admin:
# activar_usuario admin SET @id=(SELECT id FROM users WHERE user_name='admin');UPDATE users SET status='Active', employee_status='Active' WHERE id = @id;
Si al resultado de activar_usuario
aplicamos
| db
se ejecutan los queries en el MySQL.
activar_usuario admin | db
Podemos entonces definir un alias
para cada base
de datos o distintos entornos que pueden ser
locales o remotos, por ejemplo:
alias db_desa='mysql --default-character-set=utf8 --safe-updates -u sugar -psugar --database sugar -h lo --port 4678' alias db_test='mysql --default-character-set=utf8 --safe-updates -u sugar -psugar --database sugar -h lo --port 5678' alias db_prod='mysql --default-character-set=utf8 --safe-updates -u sugar -psugar --database sugar -h lo --port 3678' # activar_usuario admin | db_desa # activar_usuario admin | db_test # activar_usuario admin | db_prod
Publicado el 19/09/2013 por OSiRiS
alias
apc
bash
bashrc
bash_aliases
cache
computed field
courier
docker
dovecot
drupal
export
foxyproxy firefox
grep
head
history
iftop
imap
imapsync
liberaciones
migracion
migrate
Monotributo
Moreno emprendedor mincyt
mysql
openwrt
owncloud
parallel-ssh
parches
performance
previous next links
query
shell
sql
sugarcrm
tail
tar
tl-mr3020
tryton
undelete
vcard
views_navigation
wget
wicd