Compare commits

...

20 Commits

Author SHA1 Message Date
b4cccc5e12 Merge branch 'master' into dist/eole/2.6.2/master 2018-09-03 14:02:59 +02:00
7a99473352 Merge branch 'master' of https://forge.cadoles.com/Cadoles/eole-mariadb 2018-09-03 14:01:45 +02:00
29aca663dd Ajout de la possibilité de spécifier "innodb_lock_wait_timeout" 2018-09-03 12:05:07 +02:00
f832feeae3 ajout d'une condition pour pouvoir activer ou non la sauveagrde de mariadb 2018-06-22 16:44:19 +02:00
196a4b41f2 Prise en charge du dump des bases mariadb par schedule et bareos + copier des dump sur le partage nfs 2018-06-22 16:33:59 +02:00
cb7954fb66 Make cache query really disabled 2018-06-21 18:32:58 +02:00
68eaa03db2 Merge branch 'master' into dist/eole/2.6.2/master 2018-06-21 15:59:22 +02:00
24552b6ccc Adding tunning options for InnoDBLogBufferSize and InnoDBLogFileSize 2018-06-21 15:57:17 +02:00
5c7bbbde79 Merge branch 'master' into dist/eole/2.6.2/master 2018-06-21 15:28:02 +02:00
e80180bd04 Fixing double definition of dbWaitTimeout 2018-06-21 15:27:37 +02:00
ed910e72ee Merge branch 'master' into dist/eole/2.6.2/master 2018-06-21 13:46:21 +02:00
de695a0aff Adding tunning options for wait_timeout and interactive_timeout 2018-06-21 13:32:37 +02:00
142d73afad Merge branch 'master' into dist/eole/2.6.2/master 2018-06-21 11:04:20 +02:00
afa791cd21 Fixing typo in template 2018-06-21 11:04:14 +02:00
08d7ed927c Merge branch 'master' into dist/eole/2.6.2/master 2018-06-21 10:48:13 +02:00
ff2d131d63 Adding tunning variable dbMaxAllowedPacket 2018-06-21 10:47:27 +02:00
f375a121ae Merge branch 'master' into dist/eole/2.6.2/master 2018-05-28 16:14:08 +02:00
8f5aaff1de Manage multiple clients 2018-05-28 16:13:45 +02:00
4709c28223 Merge branch 'master' into dist/eole/2.6.2/master 2018-05-22 16:39:58 +02:00
b385b1e091 Fixing Bad variable name 2018-05-22 16:39:20 +02:00
8 changed files with 100 additions and 10 deletions

View File

@ -81,6 +81,7 @@ GenConfig (Mode Normal) -> Database cluster :
If you have only 2 nodes you need to setup an arbitrator, for this follow the tutorial in the eole-galera-arbitrator project page https://forge.cadoles.com/Cadoles/eole-galera-arbitrator
# How-to for Eole 2.6.2 (From scratch)
## Sources

View File

@ -30,6 +30,9 @@
<variable name="dbEnable" type='oui/non' description='Activer le serveur de base de données MariaDB'>
<value>non</value>
</variable>
<variable name="dbEnableBackup" type='oui/non' description='Activer la sauvegarde sur le serveur de base de données MariaDB'>
<value>non</value>
</variable>
</family>
<family name="Database">
<variable name='dbEnableCluster' type='oui/non' description="Activer la mise en grappe MariaDB Galera ?">
@ -58,6 +61,15 @@
<variable name="dbInnoDBBufferPoolPercentage" type="number" description="Pourcentage de mémoire à dédier à MariaDB">
<value>20</value>
</variable>
<variable name="dbInnoDBLogBufferSize" type='number' description="Taille du tampon utilisé pour écrire les fichiers de transaction innodb sur le disque (en Mo)">
<value>8</value>
</variable>
<variable name='dbInnoDBLogFileSize' type='number' description="Taille des fichiers de transaction InnoDB">
<value>6</value>
</variable>
<variable name='dbInnoDBLockWaitTimeout' type='number' description="Nombre de millisecondes d'attente avant de fermer la connection en lock (innodb_lock_wait_timeout)">
<value>120</value>
</variable>
<variable name="dbMaxConnections" type="number" description="Nombre de connection maximum pour le serveur de bases de données (max_connections)">
<value>100</value>
</variable>
@ -94,6 +106,12 @@
<variable name="dbAutoOptimizeAndRepare" type="oui/non" description="Activer l'autoréparation et optimisation de toutes les bases de données">
<value>non</value>
</variable>
<variable name="dbMaxAllowedPacket" type='number' description="Taille maximum d'un paquet (en Mo)">
<value>32</value>
</variable>
<variable name='dbInteractiveTimeout' type='number' description="Nombre de secondes d'attente avant de fermer la connection en mode interactif">
<value>28800</value>
</variable>
</family>
<family name="Database Cluster">

View File

@ -1 +1,3 @@
creolefuncs_DATA_DIR := $(DESTDIR)/usr/share/creole/funcs
creolefuncs_DATA_DIR := $(DESTDIR)/usr/share/creole/funcs
schedule_extra_DATA_DIR := $(DESTDIR)/usr/share/eole/creole/extra/schedule/
schedule_config_DATA_DIR := $(DESTDIR)/usr/share/eole/schedule/

View File

@ -25,7 +25,6 @@ then
accounts=($(CreoleGet accName))
limits="$(CreoleGet accLimitTarget '')"
accLimits=(${limits// /})
index=0
previousUsers=($(awk -F ':' '{print $1}' ${readerfile} ))
@ -42,13 +41,20 @@ then
else
ipAddr=($(CreoleGet ipMariaDBLimit))
ipMask=($(CreoleGet maskMariaDBLimit))
if [[ ${ipMask} == "255.255.255.255" ]]
then
hostsList+=("${ipAddr}")
else
hostsList+=("${ipAddr}/${ipMask}")
fi
ix=0
for ip in ${ipAddr[@]}
do
if [[ ${ipMask[${ix}]} == "255.255.255.255" ]]
then
hostsList+=("${ip}")
else
hostsList+=("${ip}/${ipMask[${ix}]}")
fi
ix=$((ix+1))
done
fi
index=0
for hst in ${hostsList[@]}
do
SQL="DROP USER IF EXISTS '${user}'@'${hst}';"

View File

@ -0,0 +1,7 @@
# Configuration commune aux scripts schedule
# Configuration de base modifiée pour copier dans le partage nfs plutôt que /home
SAVDIR=/mnt/sauvegardes/
# pour que l'affichage de [ ok ] soit ok
export TERM='dumb'
umask 0077

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<creole>
<variables>
<family name="mysql" description="Exportation des bases de données MySQL">
<variable name="description" type="string" hidden="True"><value>Exportation des bases MySQL</value></variable>
<variable name="day" type="schedule" description="Périodicité d'exécution"><value>daily</value></variable>
<variable name="mode" type="schedulemod" hidden="True"><value>pre</value></variable>
</family>
</variables>
<constraints>
<fill name='calc_multi_condition' target='schedule.mysql.day'>
<param>non</param>
<param type='eole' name='condition_1'>dbEnableBackup</param>
<param name='match'>none</param>
<param name='mismatch'>daily</param>
</fill>
</constraints>
</creole>

27
schedule_scripts/mysql Normal file
View File

@ -0,0 +1,27 @@
#!/bin/bash
set -e
DESC="Exportation des bases MySQL"
. /usr/share/eole/schedule/config.sh
MYSQLSAVDIR=$SAVDIR/sql
OPTION="--lock-tables"
rm -f $MYSQLSAVDIR/*.sql
mkdir -p $MYSQLSAVDIR
CMD="mysql --defaults-file=/etc/mysql/mariadb.cnf -e 'show databases' | grep -v '^Database$'"
DATABASES=$(CreoleRun "$CMD" mysql)
for databasename in $DATABASES; do
case "$databasename" in
information_schema|performance_schema|bareos)
continue
;;
*)
CMD="mysqldump --defaults-file=/etc/mysql/mariadb.cnf --databases $databasename --flush-privileges --create-options -Q -c $OPTION 2>/dev/null"
CreoleRun "$CMD" mysql > $MYSQLSAVDIR/$databasename.sql
;;
esac
done

View File

@ -3,18 +3,29 @@ innodb_file_per_table=1
skip-name-resolve
innodb_buffer_pool_size=%%getMemoryPercentage(%%getVar('dbInnoDBBufferPoolPercentage', 10))
innodb_log_buffer_size=%%{dbInnoDBLogBufferSize}M
innodb_log_file_size=%%{dbInnoDBLogFileSize}M
innodb_lock_wait_timeout=%%{dbInnoDBLockWaitTimeout}
max_connections=%%dbMaxConnections
thread_cache_size=%%dbThreadCacheSize
%if %%dbCacheQueryEnable == 'oui'
query_cache_type = 1
query_cache_limit = %%getVar('dbQueryCacheLimit')
query_cache_min_res_unit = %%getVar('dbQueryCacheMinResUint')
query_cache_min_res_unit = %%getVar('dbQueryCacheMinRestUnit')
query_cache_size = %%getVar('dbQueryCacheSize')
%else
query_cache_type = 0
query_cache_size = 0
%end if
tmp_table_size = %%dbTmpTableSize
max_heap_table_size = %%dbTmpTableSize
max_allowed_packet = %%{dbMaxAllowedPacket}M
wait_timeout = %%dbWaitTimeout
interactive_timeout = %%{dbInteractiveTimeout}
%if %%dbEnableSlowQueryLogs == "oui"
slow-query-log = 1
@ -22,5 +33,4 @@ slow-query-log-file = %%getVar('dbSlowQueryLogFile')
long_query_time = %%getVar('dbSlowQueryLogTime')
%end if
wait_timeout = %%dbWaitTimeout