Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/11/2019, à 10:27

Marc80

[Resolu] Partage NFS, droit d’écriture côté client et bases sql

Bonjour à tous,

j'ai très récemment mis en place un petit partage NFS entre un ordi Debian Jessie (Serveur) et mon pc Ubuntu 18.04 (Client) qui doit me permettre de stocker mes fichiers sql sur le dossier partagé nommé "Serveur" (oui oui le dossier porte le même nom) sur le 1er pc, comme l'indique le tutoriel ubuntu suivant :  https://doc.ubuntu-fr.org/tutoriel/un_s … artage_nfs.
Et justement, c'est là que ça se complique. Quand je dis "il doit", cela sous-entend que j'ai la possibilité de copié/collé mes fichiers sur le dossier partagé (ou appelé Fichiers_à_partager_sur_Serveur dans le tutoriel) ainsi que d'écrire dans ce dossier.
J'ai suivi les instructions en écrivant la ligne suivante dans /etc/exports :

 chemin_vers_dossier/Serveur IP_Client(rw,all_squash,anonuid=1000,anongid=1000,sync) 

Cela signifie que j'ai le droit en lecture écriture si j'ai bien lu.

Voici mon fichier "Client" /etc/fstab :

 IP_Serveur:/Fichiers_à_partager_sur_Serveur   /Point_de_montage_sur_Client   nfs    user,noauto    0   0 

Le dossier partagé apparaît ainsi en root :

 drwxr-xr-x  2 root root   4096 nov.  20 16:57  Serveur 

Mais je n'ai pas la possibilité de glisser mes fichiers pourtant même avec la commande sudo. il ne se passe rien ou alors j'ai le message suivant : Permission denied !

Que dois je faire ? Dois je bêtement copier mes bases sql sur le pc "Serveur" à l'aide d'un clé usb, puis y accéder sur mon pc "Client" et pouvoir écrire dessus en déclarant que mes bases sql sont stockées sur le dossier partagé ? Ai-je le droit de glisser des fichiers dans ce dossier ?
Pouvez vous m'aiguiller sur les autorisations du côté "Client" et "Serveur"

Merci smile

Dernière modification par Marc80 (Le 26/11/2019, à 09:54)

Hors ligne

#2 Le 21/11/2019, à 11:59

Marc80

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Bonjour à tous,

ayant installé MYSQL, Phpmyadmin afin de remplir des bases de données, je souhaite déplacer le stockage de mes bases de données dans un autre dossier (IMPORTANT : cet autre dossier sera sur un serveur NFS)

Pour le moment, mes bases sont dans le dossier

 /var/lib/mysql 

comme tout le monde au départ je suppose. En partant du principe que je souhaite le déplacer dans le dossier

 /home/marc/Bureau/SQL 

, j'ai suivi quelques exemples sur le net afin de m'aider :

- stopper le service mysql
- déplacer le dossier : sudo mv /var/lib/mysql /home/marc/Bureau/SQL
- changer le chemin sur la ligne "datadir" avec le path
- redémarrer le service

Cependant, une fois on me dit de modifier le fichier "mysql.cnf", une autre fois "my.cnf", un autre fois "mysql.conf.d/mysqld.cnf" et je ne trouve pas toujours les lignes suivantes dans les fichiers :

 
[mysqld]
  user            = mysql
  port            = 3306
  basedir         = /usr
  datadir         = /var/lib/mysql
  tmpdir          = /tmp

cela n’apparaît que dans le dernier que je vous ai cités. J'ai donc changer par : datadir : home/marc/Bureau/SQL/mysql !
Et dans le fichier "mysql.cnf" j'ai les lignes suivantes uniquement :

 
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Mais lors du relancement de mysql, ca bug. la console et le jornal me disent qu'il y a une erreur.

Pouvez vous m’aiguilliez ? Dois-je ajouter les lignes précédentes dans le fichier "mysql.cnf" malgré le fait qu'il soit quasi vide ?

merci d'avance smile

Dernière modification par Marc80 (Le 21/11/2019, à 16:37)

Hors ligne

#3 Le 21/11/2019, à 12:22

bruno

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Bonjour,

Ce n'est pas compliqué d'examiner les fichiers contenus dans les deux dossiers conf.d et mysql.conf.d pour trouver le quel contient la configuration du serveur (section [mysqld]. Au mieux on fait une recherche :

sudo rgrep datadir /etc/mysql

Hors ligne

#4 Le 21/11/2019, à 13:52

Marc80

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Merci bruno pour la réponse.

Effectivement en tapant la réponse. Le résultat me retourne que cela se situe dans le fichier :

 /etc/mysql/mysql.conf.d/mysqld.cnf 

Mais je ne dois pas ajouter la section [mysqld] dans un autre des fichiers de configuration ?


J'ai relancé le système mysql après avoir fait une copie des bases ailleurs, puis déplacé dans le nouveau dossier "/home/marc/Bureau/Serveur/mysql", la console m'annonce une erreur, et qu'il faut se référencer au journalctl. Seulement, il y est juste écris que mysql.service a échoué au moment du démarrage.. D'où peut prévenir mon soucis?

Merci d'avance smile

PS : voici les autorisations dans /var/lib/ initialement pour mes bases de données? puis celles dans /Serveur, là où je veux les stockers :

 drwx------  9 mysql         mysql         4096 nov.  21 12:48 mysql 
 drwxr-xr-x 9 1000 users   4096 nov.  21 12:41 mysql
 

Dernière modification par Marc80 (Le 21/11/2019, à 13:56)

Hors ligne

#5 Le 21/11/2019, à 15:12

bruno

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Marc80 a écrit :

Mais je ne dois pas ajouter la section [mysqld] dans un autre des fichiers de configuration ?

Et pourquoi donc ?

Marc80 a écrit :

J'ai relancé le système mysql après avoir fait une copie des bases ailleurs, puis déplacé dans le nouveau dossier "/home/marc/Bureau/Serveur/mysql", la console m'annonce une erreur, et qu'il faut se référencer au journalctl. Seulement, il y est juste écris que mysql.service a échoué au moment du démarrage.. D'où peut prévenir mon soucis?

Il faut examiner les logs de mysql (/var/log/mysql***) ou utiliser journalctl :

journalctl -e --no-pager -u mysql
Marc80 a écrit :

PS : voici les autorisations dans /var/lib/ initialement pour mes bases de données? puis celles dans /Serveur, là où je veux les stockers :

 drwx------  9 mysql         mysql         4096 nov.  21 12:48 mysql 
 drwxr-xr-x 9 1000 users   4096 nov.  21 12:41 mysql
 

Le dossier où tu veux placer doit appartenir à l'utilisateur mysql et n'être accessible qu'à lui, comme tu le vois sur les droits de /var/lib/mysql

Hors ligne

#6 Le 21/11/2019, à 15:40

Marc80

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

bruno a écrit :

Et pourquoi donc ?

Car je croyais qu'il devait être absolument dans le fichier "mysql.cnf" en lisant certaines aides sur le net.

bruno a écrit :

Il faut examiner les logs de mysql (/var/log/mysql***) ou utiliser journalctl :

Voici ce que donne le journal, en sachant que ces 5 lignes sont répatées avec à chaque fois la valeur de "restart counter is at" qui change :

nov. 21 14:23:54 marc-Precision-7920-Tower systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
nov. 21 14:23:54 marc-Precision-7920-Tower systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
nov. 21 14:23:54 marc-Precision-7920-Tower systemd[1]: Stopped MySQL Community Server.
nov. 21 14:23:54 marc-Precision-7920-Tower systemd[1]: mysql.service: Start request repeated too quickly.
nov. 21 14:23:54 marc-Precision-7920-Tower systemd[1]: mysql.service: Failed with result 'exit-code'.
bruno a écrit :

Le dossier où tu veux placer doit appartenir à l'utilisateur mysql et n'être accessible qu'à lui, comme tu le vois sur les droits de /var/lib/mysql

Il est vrai que je n'avais pas modifié les droits. J'ai donc tenté de le faire via :

 sudo chown -R mysql:mysql Serveur/mysql 

! Il me marque permission denied : modification du propriétaire.
Le dossier "Serveur" est un dossier que j'ai partagé via un réseau NFS depuis un autre poste Linux, penses tu que cela a un impact ? C'est pour cela que les droits sont "1000 users"

Hors ligne

#7 Le 21/11/2019, à 15:50

bruno

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Marc80 a écrit :

est vrai que je n'avais pas modifié les droits. J'ai donc tenté de le faire via :

 sudo chown -R mysql:mysql Serveur/mysql 

! Il me marque permission denied : modification du propriétaire.
Le dossier "Serveur" est un dossier que j'ai partagé via un réseau NFS depuis un autre poste Linux, penses tu que cela a un impact ? C'est pour cela que les droits sont "1000 users"

Je ne suis pas sûr de comprendre…
Où se situe exactement le dossier Serveur ? Est-ce un point de montage  NFS ? Si c'est le cas tu ne peux pas changer les droits depuis ton poste, il faut le faire sur le serveur NFS.

Hors ligne

#8 Le 21/11/2019, à 15:59

Jean-M

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Je ne suis pas spécialiste mais, il me semble que pour un accès BdD le partage de fichier n'a aucune importance...
La BdD étant en principe sur le serveur elle peut être interrogée et MàJ à partir de clients (ayant plus ou moins de droits) cela se fait pas un port particulier (voir la configuration de la base en question). Les fichiers de la bases eux-mêmes ne sont manipulable que sur le serveur et non surtout pas besoins d'être partagés au sens réseau c'est uniquement le SGBD qui y accède.
Et les éventuels fichiers SQL (ou de données) préparés par des clients extérieurs au serveur doivent simplement être lisible par le SGBD.


Jean-M -- Retraité au Pays basque ex-Ingénieur d'Études Grands Systèmes IBM et Consultant Qualité
Équipement : Ubuntu Linux 22.04 à jour (sur Minisforum B550 R7-5700g 32Go et sur Portable Dell 2en1 I7-10510+MX250 16Go)

Hors ligne

#9 Le 21/11/2019, à 16:02

Marc80

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

bruno a écrit :
Marc80 a écrit :

est vrai que je n'avais pas modifié les droits. J'ai donc tenté de le faire via :

 sudo chown -R mysql:mysql Serveur/mysql 

! Il me marque permission denied : modification du propriétaire.
Le dossier "Serveur" est un dossier que j'ai partagé via un réseau NFS depuis un autre poste Linux, penses tu que cela a un impact ? C'est pour cela que les droits sont "1000 users"

Je ne suis pas sûr de comprendre…
Où se situe exactement le dossier Serveur ? Est-ce un point de montage  NFS ? Si c'est le cas tu ne peux pas changer les droits depuis ton poste, il faut le faire sur le serveur NFS.

Effectivement je me suis mal exprimé.
Le dossier "Serveur" est sur un autre pc où je souhaite stocker mes bases sql. C'est à dire que c'est le point de montage serveur NFS (non client) sur cet autre pc. Je suis donc allé sur cet autre poste pour y changer les droits d'administration du dossier "mysql" qui m’intéresse. J'avoue avoir tenté plusieurs possible : root:root ou encore root:users
J'ai tenté également de changer les droits en mettant mysql:mysql depuis le serveur NFS, cela n' pas fonctionné.
Quoi que je tente comme modifications, j'ai toujours la réponse "permission denied" après avoir changé des droits sur le serveur NFS. J'ai l'impression que j'ai du me perdre dans administration des droits d'un peu tout ..

Dernière modification par Marc80 (Le 21/11/2019, à 16:11)

Hors ligne

#10 Le 21/11/2019, à 16:52

Marc80

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Jean-M a écrit :

Je ne suis pas spécialiste mais, il me semble que pour un accès BdD le partage de fichier n'a aucune importance...
La BdD étant en principe sur le serveur elle peut être interrogée et MàJ à partir de clients (ayant plus ou moins de droits) cela se fait pas un port particulier (voir la configuration de la base en question). Les fichiers de la bases eux-mêmes ne sont manipulable que sur le serveur et non surtout pas besoins d'être partagés au sens réseau c'est uniquement le SGBD qui y accède.
Et les éventuels fichiers SQL (ou de données) préparés par des clients extérieurs au serveur doivent simplement être lisible par le SGBD.

Merci pour ton aide Jean-M.

Je t'avoue je n'ai pas bien compris comment prendre le problème .. Si je devais m'exprimer autrement :
mes bases de données sont sur le client (pas sur le serveur), et je souhaite les glisser sur la partie serveur afin qu'elle ne soient pas stockées sur mon ordi. Cependant, je n'arrive pas à faire comprendre à MySQL que mes données sont maintenant stockées sur le serveur, et non plus sur le client. J'ai toujours des soucis de droits.
Et lorsque j’effectue un copié collé de mes bases directement sur le Serveur depuis le pc client, les droits changent comme etant la possession du serveur.

C'est à dire que je n'arrive pas à y avoir accès , ni à les mettre à jour!

Hors ligne

#11 Le 21/11/2019, à 20:56

Jean-M

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Bonsoir,
Je ne connais pas du tout MySQL je n'ai jamais qu'utilisé DB2 sur grand système donc la BdD sur le host avec toutes les manipulations intégrées à des programmes ou des transactions au travers d'un client Web...
Je ne peux donc guère t'aider... Toutefois une idée pas très sympa car ça doit être très long... Ce serait de faire un vidage / rechargement et ce serait le fichier intermédiaire qui serait à transférer ???
Le mieux est peut(âtre d'aller sur un forum dédié à ce SGBD.
Désolé de ne pouvoir t'aider.


Jean-M -- Retraité au Pays basque ex-Ingénieur d'Études Grands Systèmes IBM et Consultant Qualité
Équipement : Ubuntu Linux 22.04 à jour (sur Minisforum B550 R7-5700g 32Go et sur Portable Dell 2en1 I7-10510+MX250 16Go)

Hors ligne

#12 Le 21/11/2019, à 22:26

bruno

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Modération : fusion des deux discussion qui traitaient du même sujet.

Hors ligne

#13 Le 21/11/2019, à 22:38

bruno

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Bon, désolé si la fusion des deux discussion a un peu mis le bazar dans l'ordre des messages.

D'abord ce que tu essaies de faire me paraît assez tordu et pour le moins risqué. Quel est l'objectif ?

Si tu veux que ton serveur MySQL puisse utiliser un dossier monté en NFS, il faut absolument que ce dossier appartienne à l'utilisateur mysql.
Il faut donc que sur le serveur NFS le partage soit fait avec l'UID et le GID correspondant à l'utilisateur mysql. Ton fichier exports doit donc contenir une ligne du type :

/srv/mysql IP_Client(rw,all_squash,anonuid=110,anongid=114,sync)

anonuid correspond à l'UID de l'utilisateur mysql et anongid à son groupe

Hors ligne

#14 Le 22/11/2019, à 11:52

Marc80

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

Merci pour la fusion bruno.

Pour résumer au plus simple : je souhaite déplacer l'emplacement de mes bases SQL (dossier /var/lib/mysql ) depuis mon poste, sur un serveur qui a une capacité de stockage plus importante.
Pour cela, depuis le serveur en question, qui tourne sous Debian Jessie, j'ai monté un partage NFS avec le dossier "Serveur" depuis le côté serveur.  J'ai ensuite désigné mon poste comme le côté "client".

Maintenant, lors de ma manipulation me permettant de déplacer mes bases de données SQL sur ce dossier partagé "Serveur", mysql ne veut pas. Et je suis bloqué à cette partie où les permissions/droits ne sont pas accordés.

Je vais donc voir depuis le serveur NFS, le changement des droits via le fichier /etc/exports/.

Le dossier correspondant ici

 /srv/mysql 

est le dossier monté au NFS c'est bien cela ? Car mon dossier avec mes bases de données (qui est pas encore déplacé) est

 /var/lib/mysql 

Merci d'avance !

Hors ligne

#15 Le 22/11/2019, à 12:02

bruno

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

J'ai donné un exemple de fichier /etc/exports. À toi de l'adapter en fonction de l'emplacement de tes dossiers et des UID, GID réels de l'utilisateur mysql.

Je persiste à dire que ce que tu veux faire est une mauvaise idée, tu ferais mieux de faire tourner le serveur MySQL directement sur ton serveur.

Hors ligne

#16 Le 22/11/2019, à 12:22

Marc80

Re : [Resolu] Partage NFS, droit d’écriture côté client et bases sql

bruno a écrit :

J'ai donné un exemple de fichier /etc/exports. À toi de l'adapter en fonction de l'emplacement de tes dossiers et des UID, GID réels de l'utilisateur mysql.

Je persiste à dire que ce que tu veux faire est une mauvaise idée, tu ferais mieux de faire tourner le serveur MySQL directement sur ton serveur.

Ça marche merci pour les précisions.

Effectivement c'est assez compliqué .. J'ai juste tenter une dernière de déplacer, mais dans un autre dossier de mon Bureau le dossier "Autres/Trash" qui a les mêmes droits mysql:mysql comme tu me l'as dis et j'ai le même journal que lorsque je tente sur mon partage NFS :

 2019-11-22T11:56:35.302828Z 0 [Warning] Can't create test file /home/marc/Bureau/Autres/Trash/marc-Precision-7920-Tower.lower-test
2019-11-22T11:56:35.302863Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.28-0ubuntu0.18.04.4) starting as process 14645 ...
2019-11-22T11:56:35.305725Z 0 [Warning] Can't create test file /home/marc/Bureau/Autres/Trash/marc-Precision-7920-Tower.lower-test
2019-11-22T11:56:35.305746Z 0 [Warning] Can't create test file /home/marc/Bureau/Autres/Trash/marc-Precision-7920-Tower.lower-test

Où marc-Precision-7920-Tower.lower-test est le localhost entier. C'etait juste pour voir si avec un autre ca marchait, visiblement non plus ^^


Pour faire tourner le serveur MySQL directement depuis le serveur, je dois passer par mon poste en ré-installant MySQL de ce fait ? Où je peux déplacer les fichiers sources uniquement ?
J'avouerai que je suis perdu du coup maintenant avec les dossiers MySQL

Merci d'avance

EDIT : J'ai modifié le fichier apparmor.d/usr.sbin.mysqld en ajoutant mon nouveau directory, ca n'a pas fonctionné.

Dernière modification par Marc80 (Le 22/11/2019, à 15:22)

Hors ligne