Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Сборка пакета с обновлением БД MySQL.  (Прочитано 1419 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Across

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Требуется помощь в сборке пакета.
Собираю пакет в зависимости которого входят: mysql-client, mysql-server.
В postinst:

#!/bin/bash -e
cd /usr/bin
wget http://ftp_server/download/ubuntu/script.zip
unzip ./sсript.zip
chmod a+x ./script.sh
./script.sh install

В скрипте script.sh имеется следующая секция в кейсе install:

read -s mysqlpass
if [ "$mysqlpass" == "" ]
then
    echo "Skipping database configuration"
else
    echo "Performing database configuration"
    MYSQL_USER="root"
    MYSQL_PASS="$mysqlpass"

    DB_USER="wmafterlogic"
    DB_NAME="wmafterlogic"
    DB_PASS=`cat /dev/urandom| tr -dc 'a-zA-Z0-9' | fold -w 10| head -n 1`
    SQL_DROP_DATABASE="DROP DATABASE IF EXISTS $DB_NAME;"
    SQL_CREATE_DATABASE="CREATE DATABASE $DB_NAME;"
    SQL_GRANT_USER_STATEMENT="GRANT USAGE ON *.* TO '$DB_USER'@'localhost';"
    SQL_DROP_USER_STATEMENT="DROP USER '$DB_USER'@'localhost';"
    SQL_USER_STATEMENT="CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';GRANT USAGE ON * . * TO '$
    SQL_PASS_STATEMENT="SET PASSWORD FOR '$DB_USER'@'localhost' = PASSWORD( '$DB_PASS' );FLUSH PRIVILEGES;"

    echo "$SQL_DROP_DATABASE" | mysql -u$MYSQL_USER -p$MYSQL_PASS 2>/dev/null
    echo "$SQL_CREATE_DATABASE" | mysql -u$MYSQL_USER -p$MYSQL_PASS 2>/dev/null
    echo "$SQL_GRANT_USER_STATEMENT" | mysql -u$MYSQL_USER -p$MYSQL_PASS 2>/dev/null
    echo "$SQL_DROP_USER_STATEMENT" | mysql -u$MYSQL_USER -p$MYSQL_PASS 2>/dev/null
    echo "$SQL_USER_STATEMENT" | mysql -u$MYSQL_USER -p$MYSQL_PASS
    echo "$SQL_PASS_STATEMENT" | mysql -u$MYSQL_USER -p$MYSQL_PASS

    php /usr/share/afterlogic/afterlogic.php install $DB_NAME $DB_USER $DB_PASS
fi

Проблема в следующем. При установке пакета из консоли всё хорошо, в терминале запрашивается rootpasswd MySQL, затем создаётся новая БД с новыми таблицами. При установке пакета из центра приложений окна с запросом rootpasswd MySQL не появляется и установка на этом останавливается. Как сделать так, чтобы при установке данного пакета из центра приложений, появлялось окно с запросом rootpasswd MySQL?

Заранее спасибо всем за помощь.
« Последнее редактирование: 17 Апреля 2014, 19:55:48 от Across »

 

Страница сгенерирована за 0.027 секунд. Запросов: 25.