1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
## Installation et configuration de mysql
function mysql
{
if [[ "$STATUS" -lt "12" ]] ; then #est plus petit que 12
## Installation de mysql
PKG_OK=$(dpkg-query -W --showformat='${Status}\n' mysql-server-5.5|grep "install ok installed")
if [[ "" == "$PKG_OK" ]] ; then
echo -e " - ${green}Installation de mysql${NC}"
echo "mysql-server-5.5 mysql-server/root_password password $PASSWORD_ROOT_MYSQL" | debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password_again password $PASSWORD_ROOT_MYSQL" | debconf-set-selections
apt-get -y install mysql-server-5.5 php5-mysql
echo -e " - ${green}Changement du mot de passe root de mysql${NC}"
else
echo -e " - ${yellow}Mysql est déjà installé${NC}"
fi
## Configuration de mysql
# On commence par se connecté à mysql
echo -e " - ${green}Connection à Mysql${NC}"
mysql --user="root" --password="$PASSWORD_ROOT_MYSQL"
# Suppression de la connexion root à distance
echo -e " - ${green}Suppression de la connexion root à distance${NC}"
mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
# Suppression des utilisateur anonyme du localhost
echo -e " - ${green}Suppression des utilisateur anonyme du localhost${NC}"
mysql -e "DROP USER ''@'localhost'"
# Suppression des utilisateur ananyme de votre nom d'hote
mysql -e "DROP USER ''@'$(hostname)'"
echo -e " - ${green}Suppression des utilisateur ananyme${NC}"
# Suppression de la base de donnée de test
mysql -e "DROP DATABASE test"
echo -e " - ${green}Suppression de la base de donnée de test${NC}"
# Jeu de caractères par défaut
mysql -u root --password=$PASSWORD_ROOT_MYSQL --default-character-set=utf8
echo -e " - ${green}Jeu de caractères par défaut: UTF8${NC}"
# Prise en compte des changements
mysql -e "FLUSH PRIVILEGES"
echo -e " - ${green}Configuration du fichier: ${NC}/etc/mysql/my.cnf"
# Sauvegarde avant modif
cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak_"$myDate"
sed -i -e 's/port.*/port = '$PORT_MYSQL'/' /etc/mysql/my.cnf
sed -i -e 's/query_cache_limit.*/query_cache_limit = 2M/' /etc/mysql/my.cnf
sed -i -e 's/query_cache_size.*/query_cache_size = 32M/' /etc/mysql/my.cnf
sed -i -e 's/#slow_query_log_file.*/slow_query_log_file = \/var\/log\/mysql\/mysql-slow.log/' /etc/mysql/my.cnf
sed -i -e 's/#slow_query_log = 1/slow_query_log = 1/' /etc/mysql/my.cnf
sed -i -e 's/#long_query_time.*/long_query_time = 2/' /etc/mysql/my.cnf
sed -i -e 's/\[client\]/\[client\]\ndefault-character-set = utf8mb4/' /etc/mysql/my.cnf
sed -i -e 's/\[mysql\]/\[mysql\]\ndefault-character-set = utf8mb4/' /etc/mysql/my.cnf
sed -i -e 's/\[mysqld\]/\[mysqld\]\ncharacter-set-client-handshake = FALSE\ncharacter-set-server = utf8mb4\ncollation-server = utf8mb4_unicode_ci/' /etc/mysql/my.cnf
# Recharger les nouveaux parametres
echo -e " - ${green}Prise en compte de la nouvelle configuration${NC}"
/etc/init.d/mysql restart
exit
sed -i -e 's/STATUS=.*/STATUS="12"/g' $basepath/conf/$profile/config
else
echo -e " - ${yellow}L'installation de mysql est effectuée${NC}"
fi
} |
Partager