83 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
function grepmysql {
 | 
						|
    if [[ -z "$1" ]]; then
 | 
						|
        __func_head "MySQL_SERVER_NAME [WITH_OPTIONS]"
 | 
						|
        echo
 | 
						|
    else
 | 
						|
        if [[ -z "$2" ]]; then
 | 
						|
            grep -i $1 ~/.mysql_pass | awk 'BEGIN{FS=":"}{ print $2 }'
 | 
						|
        else
 | 
						|
            grep -i $1 ~/.mysql_pass | awk 'BEGIN{FS=":"}{ print $2" "$3 }'
 | 
						|
        fi
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function mysqlo () {
 | 
						|
    if [ -z "$1" ]; then
 | 
						|
        __func_head "SERVER_NAME"
 | 
						|
        echo
 | 
						|
    else
 | 
						|
        PASS=$(grepmysql $1 true)
 | 
						|
        if [ -z "$PASS" ]; then
 | 
						|
            echo "Server not found in config: $1"
 | 
						|
            return 1
 | 
						|
        fi
 | 
						|
 | 
						|
        PS_SQL=$(grep -i $1 ~/.mysql_pass | awk 'BEGIN{FS=":"}{ print $4 }')
 | 
						|
        USER=$(grep -i $1 ~/.mysql_pass | awk 'BEGIN{FS=":"}{ print $5 }')
 | 
						|
 | 
						|
        export MYSQL_PS1="$PS_SQL> "
 | 
						|
 | 
						|
        shift
 | 
						|
 | 
						|
        echo $__mysql
 | 
						|
        mysql -u $USER --password=$PASS $@
 | 
						|
        unset PS_SQL
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function mysqls () {
 | 
						|
    if [ -z "$1" ]; then
 | 
						|
        __func_head "[z] SERVER_NAME DATABASE_NAME SQL_FILE"
 | 
						|
        echo
 | 
						|
    else
 | 
						|
        GZIP=false
 | 
						|
		PV=false
 | 
						|
		_ANY=false
 | 
						|
        if [[ "$1" == *z* ]]; then
 | 
						|
            GZIP=true
 | 
						|
			_ANY=true
 | 
						|
		fi
 | 
						|
		if [[ "$1" == *p* ]]; then
 | 
						|
			PV=true
 | 
						|
			_ANY=true
 | 
						|
		fi
 | 
						|
		if $_ANY; then
 | 
						|
			shift
 | 
						|
		fi
 | 
						|
 | 
						|
        USER=$(grep -i $1 ~/.mysql_pass | awk 'BEGIN{FS=":"}{ print $5 }')
 | 
						|
        PASS=$(grepmysql $1 true)
 | 
						|
 | 
						|
        if [ -z "$PASS" ]; then
 | 
						|
            echo "Server not found in config: $1"
 | 
						|
            return 1
 | 
						|
        fi
 | 
						|
 | 
						|
        if $GZIP; then
 | 
						|
			if $PV; then
 | 
						|
				pv $3 | gunzip | mysql -u $USER --password=$PASS -D $2
 | 
						|
			else
 | 
						|
				gunzip -c $3 | mysql -u $USER --password=$PASS -D $2
 | 
						|
			fi
 | 
						|
        else
 | 
						|
			if $PV; then
 | 
						|
				pv $3 | mysql -u $USER --password=$PASS -D $2
 | 
						|
			else
 | 
						|
				mysql -u $USER --password=$PASS -D $2 < $3
 | 
						|
			fi
 | 
						|
        fi
 | 
						|
    fi
 | 
						|
}
 |