Questions sur l'installation et la configuration de Manjaro Linux.
Répondre

Install MariaDB

#1Messageil y a 6 ans

bonjour:
comme pour Postgresql:

cette installation prend en compte que les data ne doivent pas être sur la partition system (/var/lib/mysql)
d'une par parce que les disk ssd pour le system non pas besoin de beaucoup d'espace
d'autre par il est préférable de mettre ses data dans votre home (partition ) et un home dédié afin que personne ni touche hors-mis vous .
d'ailleurs cela devient la tendance et les futures version vont dans ce sens
pour ceux qui ont ubuntu j'ai utilisé la même procédure.... sauf que mariadb.service ce troue dans /lib/systemd/system/mariadb.service et mariadb@.service ...... seul différence

c'était annoncé que les grands logiciel convergeraient .... Ouf pour la maintenance....
je ne dirais jamais assez qu'il faut faire des sauvegardes surtout quand vous avez des serveur en route.....
Avant de faire des mise à jour ....

bon....
mais la procédure est la même si vous n'avez pas partitionné votre disk
cela est fait pour séparé les données utilisateurs et le system


on install mariadb mariadb-clients libmariadbclient
sous sudo -i attention

on ouvre un repertoire sur son home

mkdir /home/mysql
on change le répertoire de base du user qui est à l’installation /var/lib/mysql

usermod -d /home/mysql  mysql
on donne les droits

chown -R mysql:mysql /home/mysql


on initialise la base de données sur le home /mysql

mysql_install_db --basedir=/usr --datadir=/home/mysql --user=mysql

attention pour avoir accès il faut donné des droits surtout si vous développez
DEFINITION ACCÈS CRÉÉATION À REFAIRE LORS DE MISE À jOUR

sed -i.bak 's/ProtectHome=true/ProtectHome=false/g' /usr/lib/systemd/system/mariadb.service 

sed -i.bak 's/ProtectHome=true/ProtectHome=false/g' /usr/lib/systemd/system/mariadb@.service 


puis modifier la variable datadir celle-ci n'est pas retoucher lors de mise à jour

 mousepad /etc/mysql/my.cnf  
dans
[mysqld]

datadir =/home/mysql



exemple
# The MariaDB server
[mysqld]
datadir =/home/mysql
port = 3306
socket = /run/mysqld/mysqld.sock ..........

################################################################




on nettoie et remet en fonction le demon

 systemctl daemon-reload

systemctl start mariadb

mysql_secure_installation

exemple
Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: *****
Re-enter new password: *****
Password updated successfully!
Reloading privilege tables..
... Success



sortir de root (sudo -i sortie exit )


pour le démarrage automatique

systemctl enable mariadb
###########################################################################
toujours dans la console

mysql -u root -p 
exemple :
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDpour le démarrage automatique

systemctl enable mariadb
B connection id is 9
Server version: 10.1.29-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+

puis on ouvre une base de données

CREATE DATABASE CGIFCH CHARACTER SET utf8 COLLATE utf8_bin;
exemple:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| CGIFCH |
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)

exit sortie de mysql

il ne vous reste qu'à installer DBeaver pour travailler avec vos data bases


je souhaite avoir été clair.....

si j'ai installé sur mon home (partion ou disk autre que system c'est par precaution) .

d'autre part vous devez faire une sauvegarde avant de mettre a jour votre serveur .....



un exemple de sauvegarde :

#!/bin/bash


Fonc_postgresql()
{
 
export PATH=$PATH:usr/bin  # le chemin pour avoir les binaires de postgresql  voir autrement si vous avez fait une installation avec les dépôts ppa  autre qu'avec le binaire de postgresql 

 
echo -n "File PostgreSQL ---DATA à Sauvegarder :"
PGSQL_DATA="PGSQL_DATA_CGIFCH_"$dat".backup" 
# DATA
pg_dump     --format custom -a 	      			  		--encoding utf8 --host 127.0.0.1 --port 5432 --username postgres CGIFCH  > $PGSQL_DATA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la sauvegarde veuillez corriger POSTGRESQL ---DATA"
		exit 1
	fi

echo -n "File PostgreSQL --- SCHEMA   à Sauvegarder :"
PGSQL_SCHEMA="PGSQL_SCHEMA_CGIFCH_"$dat".backup"
# SCHEMA
pg_dump     --format custom --section pre-data  --section post-data   	--encoding utf8 --host 127.0.0.1 --port 5432 --username postgres CGIFCH  > $PGSQL_SCHEMA 
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la sauvegarde veuillez corriger POSTGRESQL ---SCHEMA"
		exit 1
	fi
echo "sauvegarde BD PostgreSql Termine"
}
 


Fonc_mariadb()
{
 echo "sauvegarde MariaDb  CGIFCH"    #même chose mais en test pour voir les équivalences postgresql mariadb  

# DATA
MARIADB_DATA="MARIADB_DATA_CGIFCH_"$dat".sql" 
/usr/bin/mysqldump -u root -p --no-create-info  --databases  CGIFCH > $MARIADB_DATA   # <--- sauvegarde des Datas indépendante pour pouvoir faire de la duplication on aurait put tout faire en une fois il suffit d'enlever --no-creat-info
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la sauvegarde veuillez corriger MariaDb ---DATA"
		exit 1
	fi
echo "crypt mot de passe"
gpg --symmetric --cipher-algo aes256 $MARIADB_DATA   #<---- on crypt avec un mot de passe 
rm -f $MARIADB_DATA #<---- on supprime le fichier en clair

# SCHEMA
echo "File MariaDb ---ALL sauf DATA  A Sauvegarder :"
MARIADB_SCHEMA="MARIADB_SCHEMA_CGIFCH_"$dat".sql"
/usr/bin/mysqldump -u root -p --no-data 	--databases  CGIFCH > $MARIADB_SCHEMA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la sauvegarde veuillez corriger MariaDb ---SCHEMA"
		exit 1
	fi
echo "crypt mot de passe"
gpg --symmetric --cipher-algo aes256 $MARIADB_SCHEMA 
rm -f $MARIADB_SCHEMA

echo "sauvegarde BD MariaDB Termine\n\n\n"
}


#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# le main
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

echo "bonjour"  
dat=$(date +%Y%m%d) 

cd "/run/media/XXXXX/9A04-7B5D/" 2>/dev/null
RetourCode=${?}   

if [[ $RetourCode == 1 ]]
then  
echo "Branche le lecteur"
exit  1
fi
	

echo -n "Voulez-SAUVEGARDER Y/N? : "
read yes
if [ "$yes" = "y" ] || [ "$yes" = "Y" ]
then

	chemin_sav="/run/media/XXXX/9A04-7B5D/DATABASE_"$dat

	mkdir $chemin_sav 2>/dev/null
 	RetourCode=${?}   
 

	if [[ $RetourCode == 1 ]]
	then  
		echo "Dossier de sauvegarde déjà existant"
#		exit  1
	fi

	cd $chemin_sav 
	RetourCode=${?}   
 
	if [[ $RetourCode == 1 ]]
	then  
		echo "Dossier inacessible"
		exit  1
	fi 

	echo -e "Sauvegarde PostGresql : Y/N  \n"
	read yesp
	if [ "$yesp" = "y" ] || [ "$yesp" = "Y" ] 
	then
		Fonc_postgresql $dat
	fi


	echo -e "Sauvegarde  MariaDB  : Y/N \n"
	read yesm
	if [ "$yesm" = "y" ] || [ "$yesm" = "Y" ] 
	then 
		Fonc_mariadb $dat 
	fi
fi
echo "Ok, bye!"
exit 0

un exemple de restore:

#!/bin/bash
Fonc_postgresql()
{
export PATH=$PATH:/usr/bin;  #<---- voir votre installation personnel   vous devez avoir pg_restore en ligne 

PGSQL_SCHEMA="PGSQL_SCHEMA_CGIFCH_"$1".backup"
if [ -e "$PGSQL_SCHEMA" ]
then
# recharge et creation des tables et leurs definitions  
	echo -n "File PostgreSQL ---SCHEMA  A Restaurer :"
	pg_restore      --host localhost --port 5432 --username postgres   --dbname CGIFCH   $PGSQL_SCHEMA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la restauration veuillez corriger   POSTGRESQL ---SCHEMA "
		exit 1
	fi
# recharge les données 
	PGSQL_DATA="PGSQL_DATA_CGIFCH_"$1".backup"
	echo -n "File PostgreSQL ---DATA  A Restaurer :"
 	pg_restore   -a --host localhost --port 5432 --username postgres   --dbname CGIFCH   $PGSQL_DATA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la restauration veuillez corriger   POSTGRESQL ---DATA "
		exit 1
	fi
	echo  "restaurer controler avec un vacum general "
fi;
}

Fonc_mariadb()
{
MARIADB_SCHEMA_GPG="MARIADB_SCHEMA_CGIFCH_"$1".sql.gpg";       # <---- votre fichier a restaurer en premier (les définitions)
if [ -e "$MARIADB_SCHEMA_GPG" ]
then
 
	MARIADB_SCHEMA="MARIADB_SCHEMA_CGIFCH_"$1".sql"
	MARIADB_SCHEMA_GPG="MARIADB_SCHEMA_CGIFCH_"$1".sql.gpg"
 # SCHEMA
	echo -n "File MariaDb ---SCHEMA  A Restaurer :"
	gpg -o $MARIADB_SCHEMA -d --cipher-algo aes256  $MARIADB_SCHEMA_GPG #<--- on decrypt
	mysql -u root -p CGIFCH < $MARIADB_SCHEMA   #<--- on restaure 
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la restauration veuillez corriger MariaDb ---SCHEMA"
		exit 1
	fi
	#rm -f  $MARIADB_SCHEMA  #<--- on ne laisse pas le fichier en claire par sécurité


	MARIADB_DATA="MARIADB_DATA_CGIFCH_"$1".sql" 
	MARIADB_DATA_GPG="MARIADB_DATA_CGIFCH_"$1".sql.gpg"
# DATA
	echo -n "File MariaDb ---DATA  A Restaurer :"
	gpg -o $MARIADB_DATA -d --cipher-algo aes256  $MARIADB_DATA_GPG
	mysql -u root -p  CGIFCH < $MARIADB_DATA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la restauration veuillez corriger MariaDb ---DATA"
		exit 1
	fi
	#rm -f  $MARIADB_DATA
fi;
}


#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# le main
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

echo "bonjour" 
# disk USB  de sauvegarde 

cd "/run/media/XXXX/9A04-7B5D/" 2>/dev/null  
RetourCode=${?}   

if [[ $RetourCode == 1 ]]
then  
	echo "Branche le lecteur"
	exit  1
fi

cd /run/media/XXXX/9A04-7B5D/

echo "recuperation RESTAURE BDsql: "
echo -n "Entrez: sa date de sauvegarde : "
read dat


chemin_sav="DATABASE_"$dat
cd $chemin_sav>/dev/null
RetourCode=${?}  

if [[ $RetourCode == 1 ]]
then
	echo "Dossier de sauvegarde inexistant"
	exit  1
fi

 
	echo -e "Restauration de la base de données PostGresql  Y or N  \n"
	read 
	if [ "$REPLY" = "y" ] || [ "$REPLY" = "Y" ] 
	then
		Fonc_postgresql $dat 
	fi


	echo -e "Restauration de la base de données MariaDB  Y or N \n"
	read 
	if [ "$REPLY" = "y" ] || [ "$REPLY" = "Y" ] 
	then 
		Fonc_mariadb $dat 
	fi

echo "Ok, bye! " 
exit 0	







@plus
Dernière modification par JPlarocheil y a 6 ans, modifié au total 8 fois.

Install MariaDB

#2Messageil y a 6 ans

Grande modification veuillez relire je n'avais pas mis les modifications faite avec sudo dans les fichiers de configuration pour MariaDB 10.1.28-MariaDB
ps sur XUBUNTU avec la version 10.2.9 il y a une modification qui simplifie ... je donnerais dès-que l'on aura la new
Dernière modification par JPlarocheil y a 6 ans, modifié au total 1 fois.

Install MariaDB

#3Messageil y a 6 ans

voilà comme promis
l'installation Mariadb version : mariadb 10.1.29-1 le 28/11/2017
lire les détails de votre installateur.

grand changement pas besoin de preinstaller dans /var/lib/mysql
surtout aujourd'hui avec un petit disk ssd system


mais comme tout serveur il faut mettre les mains dans le cambouiiiiii ;)
;rale: non c'est important pour savoir ce que vous faite....

rappel attention aux sauvegarde avant mise à jour....

je vous est mis 2 exemples pour vous aider
@bientôt

Install MariaDB

#4Messageil y a 6 ans

:bjr: merci pour le tuto
si j'ai installé sur mon home (partition ou disk autre que system c'est par précaution) .
C'est dommage de trouver cette phrase en plein milieux alors que c'est justement la grande différence avec les wikis (manjaro...archlinux).
Qu'apporte véritablement cette particularité d'utiliser /home/ ? si je comprends c'est juste pour utiliser une autre partition que système, dommage de ne pas le signifier au début (pour moi qui ai un home dans même partition)

Install MariaDB

#5Messageil y a 6 ans

je vais le modifier....
disons qu'a partir de cette version (c'était possible avant mais avec beuuuucoup de galère...)
ne pas avoir sur la partition system ses données ça évite de sollicité le disk..... ou de faire des pti trou dans la partition....system et puis c'est pas propre de mettre des données dans la partition system.

pour cela ma paru évident mais je suis dedans et en plongé profonde alors tu as raison de signalé cela .

Install MariaDB

#6Messageil y a 6 ans

papajoke a écrit : il y a 6 ans:bjr: merci pour le tuto
si j'ai installé sur mon home (partition ou disk autre que system c'est par précaution) .
C'est dommage de trouver cette phrase en plein milieux alors que c'est justement la grande différence avec les wikis (manjaro...archlinux).
Qu'apporte véritablement cette particularité d'utiliser /home/ ? si je comprends c'est juste pour utiliser une autre partition que système, dommage de ne pas le signifier au début (pour moi qui ai un home dans même partition)
bonjour, effectivement partitionner son disk est vital pour n'avoir jamais a refaire les donnée utilisateurs et aussi de même avoir un admin différent du user , cela fait déjà deux /home/admin et /home/user +++ /home/mysql /home/pgsql


mais la procédure est la même si tu n'as pas partitioné ton disk
cela est fait pour séparé les données utilisateurs et le system

de même qu'avoir un ssd mini et un disk dur pour les data est aujourd'hui le meilleurs compromis car les disk ssd suivant disons la monnaie investi ne sont garanti qu'un certain très certain temps d'ou les spécificités sont d'avoir un disk dur a mini 7200 tours pour les data et si long vas jusqu'au bout un NAS serveur externe pour externaliser toutes vos données quel-quel soit très facile a mettre en œuvre

tout pour ne plus perdre ex vos photos, vos lettre ;) a vos avocat pour ne plus payer d’impôts mdrrrr, non mais Manjaro qui propose une rolling cela serait dommage de ne pas en profiter.... et puis c'est Noel alors au lieu d'acheter un jeux a 400 euro avec cet argent et il en restera acheter de quoi être tranquille


maintenant pour ceux qui n'ont pas fait de partition .... il est toujours possible de faire une partition et d'y mettre votre home
sur le net vous trouverez facilement ou chez ubuntu la manipulation est la même ..... le déplacement est fait avec précaution et sans soucié ps ne faite pas copy .... là y aurait comme qui dit l'autre un bémol....
mais je doute que sur majaro cela n'existe pas c'était même au début le legs motif

ps cela permet aussi de refaire le system ou d'avoir plusieurs sytem sur le même home (pas en même temps)
et comme faire un sytem avec Manjaro ex Xfce prends environs 20mn on comprends pour quoi les développeurs font cette architecture.
je souhaite avoir été plus claire :pappy::pappy::pappy::pappy:
Répondre