Προς το περιεχόμενο

Αυτόνομη εγκατάσταση MySQL στο /opt


astrofos

Προτεινόμενες αναρτήσεις

Παραθέτω ένα scriptaκι για την αυτόνομη εγκατάσταση της MySQL στο /opt.

 

Καταρχάς κατεβάζουμε την tar.gz διανομή του προγράμματος και του documentation από το http://dev.mysql.com/downloads/. Από την λίστα αρχείων, επιλέγουμε αυτό που λέει Linux (non RPM, Intel C/C++ compiled, glibc-2.3) downloads. Στην παρούσα περίπτωση τα αρχεία που χρησιμοποιώ είναι τα εξής:

  • mysql-5.0.45-linux-i686-glibc23.tar.gz
  • refman-5.0-en.html-chapter.tar.gz

 

Το script έχει ως εξής:

>
ARCH=mysql-5.0.45-linux-i686-glibc23.tar.gz
FOLD=mysql-5.0.45-linux-i686-glibc23
DOCS_ARCH=refman-5.0-en.html-chapter.tar.gz
DOCS_FOLD=refman-5.0-en.html-chapter


# Δημιουργία user και group
# -------------------------

groupadd mysql
useradd -g mysql mysql


# Εγκατάσταση βασικών αρχείων
# ---------------------------

tar -xzf $ARCH -C /opt
ln -s $FOLD /opt/mysql


# Εγκατάσταση αρχείων τεκμηρίωσης
# -------------------------------

tar -xzf $DOCS_ARCH -C /opt/$FOLD/docs
mv /opt/$FOLD/docs/$DOCS_FOLD /opt/$FOLD/docs/manual


# Δημιουργία αρχείου ρυθμίσεων
# -----------------------------

echo "[mysqld]"                                            >  /etc/my.cnf
echo "basedir=/opt/mysql"                                  >> /etc/my.cnf
echo "datadir=/opt/mysql/data"                             >> /etc/my.cnf
echo "character-sets-dir=/opt/mysql/share/mysql/charsets/" >> /etc/my.cnf
echo "character-set-server=utf8"                           >> /etc/my.cnf
echo "user=mysql"                                          >> /etc/my.cnf
echo "port=3306"                                           >> /etc/my.cnf
echo "socket=/tmp/mysql.sock"                              >> /etc/my.cnf
echo ""                                                    >> /etc/my.cnf
echo "[client]"                                            >> /etc/my.cnf
echo "default-character-set=utf8"                          >> /etc/my.cnf
echo "port=3306"                                           >> /etc/my.cnf
echo "socket=/tmp/mysql.sock"                              >> /etc/my.cnf


# Αρχικοποίηση της βάσης
# ----------------------

cd /opt/$FOLD
scripts/mysql_install_db --user=mysql


# Ορισμός δικαιωμάτων
# -------------------

chown -R mysql:mysql /opt/$FOLD


# Ενεργοποίηση εκκίνησης ως service
# ---------------------------------

cp /opt/$FOLD/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql

if [ -f /usr/sbin/update-rc.d ]; then
   update-rc.d mysql defaults
fi

 

Παρατηρήσεις:

-------------------------

Χρησιμοποιώ 2 μεταβλητές για να ορίσω τα tar.gz του προγράμματος και του documentation ($ARCH, $DOCS_ARCH) και 2 μεταβλητές με τα directories που ξέρω οτι περιέχουν μέσα ($FOLD, $DOCS_FOLD).

 

Το script κάνει με τη σειρά τα εξής:

  • δημιουργεί χρήστη και ομάδα mysql
  • κάνει την εγκατάσταση στο /opt/$FOLD
  • δημιουργεί link στο /opt/mysql
  • δημιουργεί ένα βασικό αρχείο ρυθμίσεων στο /etc/my.cnf
  • αρχικοποιεί τη βάση
  • ορίζει δικαιώματα στα αρχεία
  • ενεργοποιεί το service κατα την εκκίνηση του Λ.Σ.

Οι βελτιώσεις είναι ευπρόσδεκτες (μιας και δεν είμαι guru στο shell scripting)!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...