Changeset 1291


Ignore:
Timestamp:
Apr 27, 2016, 2:47:01 PM (3 years ago)
Author:
mabarracus
Message:

wip

Location:
lliurex-sgdb/trunk/fuentes
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • lliurex-sgdb/trunk/fuentes/debian/changelog

    r125 r1291  
     1lliurex-sgbd (0.71-wip) xenial; urgency=medium
     2
     3  * wip
     4
     5 -- M.Angel Juan <m.angel.juan@gmail.com>  Wed, 27 Apr 2016 13:41:28 +0200
     6
    17lliurex-sgbd (0.70) xenial; urgency=medium
    28
  • lliurex-sgdb/trunk/fuentes/debian/control

    r125 r1291  
    99Package: lliurex-sgbd
    1010Architecture: all
    11 Depends:${misc:Depends}, mysql-server, pwgen
     11Depends:${misc:Depends}, virtual-mysql-server, pwgen
    1212Description: Several utilities to create and manage mysql databases.
    1313 mysql_root_password: initializate, sync or create mysql root password.
  • lliurex-sgdb/trunk/fuentes/install/usr/sbin/lliurex-sgbd

    r125 r1291  
    7777}
    7878
     79mysql_version_upper(){
     80    local ret=1;
     81    ver=$(mysql --version|egrep -o '[45]\.[0-9]+\.[0-9]+')
     82    if dpkg --compare-versions $ver gt "5.7.6"; then ret=0; fi;
     83   
     84    if [ $debug -eq 1 ]; then
     85        if [ $ret -eq 0 ]; then
     86            echo "Compare versions: Detected new mysql > 5.7.6"
     87        else
     88            echo "Compare versions: Detected old mysql < 5.7.6"
     89        fi
     90    fi
     91
     92    return $ret
     93}
     94
    7995update_passwd() {
    80         local sqlQuery
    81         sqlQuery="UPDATE mysql.user SET Password=PASSWORD('$DB_USER_PASS') WHERE User='$DB_USER'; "
    82         sqlQuery=$sqlQuery"FLUSH PRIVILEGES;"
     96        local sqlQuery
     97       
     98        if mysql_version_upper; then
     99            sqlQuery="UPDATE mysql.user SET authentication_string=PASSWORD('$passwd'),plugin='mysql_native_password',password_expired='N' WHERE User='root'; "
     100        else
     101            sqlQuery="UPDATE mysql.user SET Password=PASSWORD('$passwd') WHERE User='root'; "
     102        fi
     103        sqlQuery=$sqlQuery"FLUSH PRIVILEGES;"
     104
    83105        mysql -u root -p$MYSQL_ROOT_PASS -e "$sqlQuery"
    84106}
  • lliurex-sgdb/trunk/fuentes/install/usr/sbin/mysql_root_passwd

    r125 r1291  
    1313alive=2
    1414
     15mysql_version_upper(){
     16    local ret=1;
     17    ver=$(mysql --version|egrep -o '[45]\.[0-9]+\.[0-9]+')
     18    if dpkg --compare-versions $ver gt "5.7.6"; then ret=0; fi;
     19   
     20    if [ $debug -eq 1 ]; then
     21        if [ $ret -eq 0 ]; then
     22            echo "Compare versions: Detected new mysql > 5.7.6"
     23        else
     24            echo "Compare versions: Detected old mysql < 5.7.6"
     25        fi
     26    fi
     27
     28    return $ret
     29}
     30
    1531is_mysql_alive(){
    1632        local ret=1
    1733        alive=1
    18         if [ -e $mysqlSock ] ; then
     34        tst=$(ps ax|grep mysqld|grep -v grep|wc -l)
     35        if [ -e $mysqlSock ] && [ $tst -gt 0 ]; then
    1936                ret=0
    2037                alive=0
    2138        fi
    2239        if [ $debug -eq 1 ] ; then
    23                 echo "esta vivo:"$ret   
     40            if [ $ret -eq 0 ]; then
     41                echo "mysqld esta vivo!"
     42            else
     43                echo "mysqld esta muerto!"
     44            fi
    2445        fi
    2546        return $ret
     
    4667do_write_passSql() {
    4768        local sqlQuery
    48         sqlQuery="UPDATE mysql.user SET Password=PASSWORD('$passwd') WHERE User='root'; "
    49         sqlQuery=$sqlQuery"FLUSH PRIVILEGES;"
     69       
     70        if mysql_version_upper; then
     71            sqlQuery="UPDATE mysql.user SET authentication_string=PASSWORD('$passwd'),plugin='mysql_native_password',password_expired='N' WHERE User='root'; "
     72            # NEED TO CHANGE AUTH PLUGIN abobe fails when --skip-grant-tables
     73            #sqlQuery="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$passwd'; "
     74           
     75        else
     76            sqlQuery="UPDATE mysql.user SET Password=PASSWORD('$passwd') WHERE User='root'; "
     77        fi
     78        sqlQuery=$sqlQuery"FLUSH PRIVILEGES;"
    5079
    5180        echo $sqlQuery
     
    81110       
    82111        return 0
    83 
    84112}
    85113
     
    109137}
    110138
     139on_systemd(){
     140    local ret=1
     141
     142    tst=$(which systemd)
     143    if [ -n $tst ]; then
     144        ret=0
     145    fi
     146    if [ $debug -eq 1 ]; then
     147        if [ $ret -eq 0 ]; then
     148            echo "I'm on a systemd system"
     149        else
     150            echo "I'm not on a systemd system"
     151        fi
     152    fi
     153   
     154    return $ret
     155}
    111156mysql_process(){
    112157        local timeout
     
    121166                                echo "arrancando"
    122167                        fi
    123                         service mysql $1 >/dev/null 2>/dev/null || true
     168                        if on_systemd; then
     169                            systemctl $1 mysql >/dev/null 2>/dev/null || true
     170                        else
     171                            service mysql $1 >/dev/null 2>/dev/null || true
     172                        fi
    124173                        timeout=0
    125174                        while  true  ; do
     
    144193                                echo "parando"
    145194                        fi
    146                         service mysql $1 >/dev/null 2>/dev/null|| true
    147                         killall -9 mysqld >/dev/null 2>/dev/null|| true
     195                        if on_systemd; then
     196                            systemctl $1 mysql >/dev/null 2>/dev/null || true
     197                        else
     198                            service mysql $1 >/dev/null 2>/dev/null || true
     199                        fi
     200                        killall -KILL mysqld >/dev/null 2>/dev/null || true
    148201                        timeout=0
    149202                        while  true  ; do
     
    206259                                echo "parando"
    207260                        fi
    208                         killall -9  mysqld >/dev/null 2>/dev/null >/dev/null || true
    209                         killall -9  mysqld_safe >/dev/null 2>/dev/null >/dev/null || true
     261                        killall -KILL  mysqld >/dev/null 2>/dev/null >/dev/null || true
     262                        killall -KILL  mysqld_safe >/dev/null 2>/dev/null >/dev/null || true
    210263                        timeout=0
    211264                        while  true  ; do
     
    217270                                fi
    218271                                if [ $timeout -gt 1 ] ; then
     272                                    if on_systemd; then
     273                                        systemctl stop mysql >/dev/null 2>/dev/null ||true
     274                                    else
    219275                                        service mysql start >/dev/null 2>/dev/null || true
    220276                                        service mysql stop >/dev/null 2>/dev/null || true
     277                                    fi
    221278                                fi
    222279                                timeout=$(($timeout+1))
     
    237294
    238295test_password(){
    239         if mysql -u $user -p$passwd < $sqltest 2>/dev/null; then
     296        #with sudo always test passwd is ok, must use other user than root
     297        if sudo --user nobody mysql -u $user -p$passwd < $sqltest 2>/dev/null; then
    240298                if [ $debug -eq 1 ] ; then
    241299                        echo "test passwd ok"
    242300                fi
    243                 rm -f $sqltest
     301                #rm -f $sqltest
    244302                return 0
    245303        fi
     
    266324                       
    267325                        if [ $need_restart -eq 1 ]; then
     326                            if on_systemd; then
     327                                systemctl restart mysql
     328                            else
    268329                                service mysql restart
     330                            fi
    269331                        fi
    270332                       
Note: See TracChangeset for help on using the changeset viewer.