Compare commits
6 Commits
pkg/stable
...
pkg/dev/eo
Author | SHA1 | Date | |
---|---|---|---|
c540b65e08 | |||
be45f4e3fa | |||
f65fc17332 | |||
5e9eae5c13 | |||
d84efbfaa4 | |||
4dd7e78f7c |
27
README.md
27
README.md
@ -1,5 +1,32 @@
|
||||
# eole-mariadb
|
||||
|
||||
Paquet porté pour la 2.7.0. Les tests n'ont été réalisé que sur un Eolebase.
|
||||
|
||||
La version utilisé est mariadb 10.3
|
||||
|
||||
Ajout de ce paquet sur une 2.7.0 :
|
||||
|
||||
## Add the Cadoles repository on all the nodes and the Leader
|
||||
|
||||
GenConfig [Mode Expert] -> Dépôts Tiers
|
||||
|
||||
* Libellé du dépôt : Cadoles dev
|
||||
* Déclaration du dépôt : deb [ arch=all ] https://vulcain.cadoles.com 2.7.0-dev main
|
||||
* Méthode de récupération de la clé publique du dépôt : URL de la clé
|
||||
* URL de la clé : https://vulcain.cadoles.com/cadoles.gpg
|
||||
|
||||
## Add the MariaDB repository on all the nodes and the Leader
|
||||
|
||||
GenConfig (Mode Expert) -> Dépôt tiers :
|
||||
* Libellé du dépôt : MariaDB
|
||||
* Déclaration du dépôt : deb [ arch=amd64 ] http://mariadb.mirrors.ovh.net/MariaDB/repo/10.3/ubuntu bionic main
|
||||
* Méthode de récupération de la clé publique du dépôt : serveur de clés
|
||||
* URL du serveur de clés : hkp://keyserver.ubuntu.com:80
|
||||
* Empreinte de la clé : 0xF1656F24C74CD1D8
|
||||
|
||||
#######################################################################
|
||||
|
||||
|
||||
Début des travaux pour l'utilisation de mariadb
|
||||
dans Eole avec des fonctionalitées avancées du type
|
||||
mise en clustter
|
||||
|
@ -145,6 +145,10 @@
|
||||
</separators>
|
||||
</variables>
|
||||
<constraints>
|
||||
<check name="valid_ipnetmask" target="maskMariaDBLimit" level="warning">
|
||||
<param type='eole'>ipMariaDBLimit</param>
|
||||
</check>
|
||||
|
||||
<check name='valid_enum' target='ifDBCluster'>
|
||||
<param>['eth0', 'eth1', 'eth2', 'eth3', 'eth4']</param>
|
||||
</check>
|
||||
|
66
posttemplate/25-mariadb-passwd
Executable file
66
posttemplate/25-mariadb-passwd
Executable file
@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
systemctl stop mariadb
|
||||
|
||||
mariadb_cfdir=/etc/mysql/
|
||||
dc=$mysql_cfgdir/mariadbBackup.cnf
|
||||
mariadb_rundir=/var/run/mysqld/
|
||||
mariadb_statedir=/var/lib/mysql
|
||||
|
||||
if [ -e "$dc" -a -n "`fgrep mysql_upgrade $dc 2>/dev/null`" ]; then
|
||||
pass="`sed -n 's/^[ ]*password *= *// p' $dc | head -n 1`"
|
||||
# Basedir is deprecated. Remove the option if it's in an existing mariadbBackup.cnf
|
||||
sed -i '/basedir/d' "$dc"
|
||||
else
|
||||
pass=`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..16)'`;
|
||||
if [ ! -d "$mariadb_cfdir" ]; then
|
||||
then install -o 0 -g 0 -m 0755 -d $mariadb_cfdir
|
||||
fi
|
||||
umask 066
|
||||
cat /dev/null > $dc
|
||||
umask 022
|
||||
echo "# Automatically generated DONT'T TOUCH !!!!!!" >>$dc
|
||||
echo "[client]" >>$dc
|
||||
echo "host = localhost" >>$dc
|
||||
echo "user = maria-sys-maint" >>$dc
|
||||
echo "password = $pass" >>$dc
|
||||
echo "socket = $mariadb_rundir/mysqld.sock" >>$dc
|
||||
echo "[mysql_upgrade]" >>$dc
|
||||
echo "host = localhost" >>$dc
|
||||
echo "user = maria-sys-maint" >>$dc
|
||||
echo "password = $pass" >>$dc
|
||||
echo "socket = $mariadb_rundir/mysqld.sock" >>$dc
|
||||
fi
|
||||
|
||||
# If this dir chmod go+w then the admin did it. But this file should not.
|
||||
chown 0:0 $dc
|
||||
chmod 0600 $dc
|
||||
|
||||
# If database doesn't exist we create it.
|
||||
mkdir /var/lib/mariadb-files
|
||||
mariadb_filesdir=/var/lib/mariadb-files
|
||||
|
||||
if [ ! "$(ls -A "${mariadb_statedir}")" ] && [ -d "${mariadb_filesdir}" ]; then
|
||||
existingdatabase=0
|
||||
initfile=`mktemp --tmpdir=/var/lib/mariadb-files/`
|
||||
touch "$initfile"
|
||||
chmod 600 "$initfile"
|
||||
chown mysql:mysql "$initfile"
|
||||
echo "USE mysql; " >> "$initfile"
|
||||
db_get mysql-server/root_password && rootpw="$RET"
|
||||
if [ ! -z "$rootpw" ]; then
|
||||
rootpw=$(printf %q "${rootpw}")
|
||||
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY '$rootpw';" >> "$initfile"
|
||||
fi
|
||||
echo "CREATE USER IF NOT EXISTS 'maria-sys-maint'@'localhost' IDENTIFIED BY '$pass';" >> "$initfile"
|
||||
echo "GRANT ALL ON *.* TO 'maria-sys-maint'@'localhost' WITH GRANT OPTION;" >> "$initfile"
|
||||
echo "SHUTDOWN;" >> "$initfile"
|
||||
mysqld --initialize-insecure --user=mysql --init-file="$initfile"> /dev/null 2>&1 || true
|
||||
rm "$initfile"
|
||||
else
|
||||
existingdatabase=1
|
||||
fi
|
||||
|
||||
systemctl start mariadb
|
||||
|
||||
exit 0
|
@ -2,14 +2,14 @@
|
||||
|
||||
<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>
|
||||
<family name="mariadb" description="Exportation des bases de données MariaDB">
|
||||
<variable name="description" type="string" hidden="True"><value>Exportation des bases MariaDB</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'>
|
||||
<fill name='calc_multi_condition' target='schedule.mariadb.day'>
|
||||
<param>non</param>
|
||||
<param type='eole' name='condition_1'>dbEnableBackup</param>
|
||||
<param name='match'>none</param>
|
@ -2,7 +2,7 @@
|
||||
|
||||
set -e
|
||||
|
||||
DESC="Exportation des bases MySQL"
|
||||
DESC="Exportation des bases MariaDB"
|
||||
|
||||
. /usr/share/eole/schedule/config.sh
|
||||
|
||||
@ -12,7 +12,7 @@ OPTION="--lock-tables"
|
||||
rm -f $MYSQLSAVDIR/*.sql
|
||||
mkdir -p $MYSQLSAVDIR
|
||||
|
||||
CMD="mysql --defaults-file=/etc/mysql/mariadb.cnf -e 'show databases' | grep -v '^Database$'"
|
||||
CMD="mysql --defaults-file=/etc/mysql/mariadbBackup.cnf -e 'show databases' | grep -v '^Database$'"
|
||||
DATABASES=$(CreoleRun "$CMD" mysql)
|
||||
for databasename in $DATABASES; do
|
||||
case "$databasename" in
|
||||
@ -20,7 +20,7 @@ for databasename in $DATABASES; do
|
||||
continue
|
||||
;;
|
||||
*)
|
||||
CMD="mysqldump --defaults-file=/etc/mysql/mariadb.cnf --databases $databasename --flush-privileges --create-options -Q -c $OPTION 2>/dev/null"
|
||||
CMD="mysqldump --defaults-file=/etc/mysql/mariadbBackup.cnf --databases $databasename --flush-privileges --create-options -Q -c $OPTION 2>/dev/null"
|
||||
CreoleRun "$CMD" mysql > $MYSQLSAVDIR/$databasename.sql
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user