Un DB con MySql su un server diverso da quello del dominio?

Più che altro… se lo leggo lo dimentico ma se lo scrivo lo ricordo…

Per avere un facile accesso alla creazione di database MySql sul proprio server e poterne configurare l’accesso anche dall’esterno ecco un shell-script semplice semplice:

#!/bin/bash
# A shell script to add mysql database, username and password.
# It can also grant remote access on fly while creating the database.
# -------------------------------------------------------------------------
# Copyright (c) 2007 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
# Last updated on Jan/09/2010
# -------------------------------------------------------------------------
_db="$1"
_user="$2"
_pass="$3"
_dbremotehost="$4"
_dbrights="$5"
 
## Path to mysql bins ##
mysql="/usr/bin/mysql"
## Mysql root settings ##
_madminuser='root'
_madminpwd='MySQL-PassWord'
_mhost='localhost'
 
# make sure we get at least 3 args, else die
[[ $# -le 2 ]] && { echo "Usage: $0 'DB_Name' 'DB_USER' 'DB_PASSORD' ['remote1|remote2|remoteN'] ['DB_RIGHTS']"; exit 1; }
 
# fallback to ALL rights
[[ -z "${_dbrights}" ]] && _dbrights="ALL"
 
# build mysql queries
_uamq="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e 'CREATE DATABASE ${_db};'"
_upermq1="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e \"GRANT ${_dbrights} ON ${_db}.* TO ${_user}@localhost IDENTIFIED BY '${_pass}';\""
 
# run mysql queries
$_uamq
$_upermq1
 
# read remote host ip in a bash loop
# build queires to grant permission to all remote webserver or hosts via ip using the same username
IFS='|'
for  i in ${_dbremotehost}
do
	_upermq2="${mysql} -u "${_madminuser}" -h "${_mhost}" -p'${_madminpwd}' -e \"GRANT ${_dbrights} ON ${_db}.* TO ${_user}@${i} IDENTIFIED BY '${_pass}';\""
	$_upermq2
done

 

Ecco comu usare lo script:

Aggiungere un database che come nome ha: “db1”, come nome utente: “usr1” e come password: “psw1”

./script.sh db1 usr1 psw1

Aggiungere un database che come nome ha: “db1”, come nome utente: “usr1” e come password: “psw1”
ed abilitarne l’accesso agli infirizzi IP: 72.14.234.104, e 209.85.129.99 (questi appartengono a Google ^_^) come dimostra il buon vecchio ping test: tutti gli IP di Google dal 2006.

./script.sh db1 usr1 psw1 '72.14.234.104|209.85.129.99'

 
fonte: http://bash.cyberciti.biz/mysql/

Linux, shell programming ^_^

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...