Supprimer un lien symbolique

Postez ici toutes vos demandes d’assistance.
Répondre
Avatar du membre
Nerva
Messages : 218
Enregistré le : lun. 4 mars 2019 18:48

Supprimer un lien symbolique

Message par Nerva »

Bonjour.

Afin de déplacer le dossier des bases de données mysql dans /home, j'ai créé un lien symbolique mais j'ai dû me planter quelque part puisque la connexion est dorénavant impossible.

Code : Tout sélectionner

sudo -s
/etc/init.d/mysql stop
mv /var/lib/mysql /var/lib/mysql-ancien
ln -s /home/nerva/mysql /var/lib/mysql
cp -pr /var/lib/mysql-ancien /home/nerva/mysql
/etc/init.d/mysql start
Et là ça ne redémarre pas.

Code : Tout sélectionner

[....] Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.
 failed!
J'ai donc recopié les fichiers à leur place d'origine mais je voudrais savoir comment supprimer le lien symbolique.

Merci.
Linux Mint 19.3 Tricia 64 | Noyau 5.4.0-51 | Cinnamon 4.4.8

Avatar du membre
cyrille
modérateur
Messages : 5617
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nord - Avesnois
Contact :

Re: Supprimer un lien symbolique

Message par cyrille »

tu t'y prends mal pour déplacer le datadir de mysql

Code : Tout sélectionner

mysql>    select @@datadir;

Output
+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.00 sec)
t'informe du datadir actuel

Tu stoppes le demon

Edite la conf de mysql

Code : Tout sélectionner

sudo nano /etc/mysql/my.cnf
et modifies ces entrées
les entrées du datadir


Tu relances mysql

Code : Tout sélectionner

mysql>    select @@datadir;

Output
+----------------------------+
| @@datadir                  |
+----------------------------+
| /mnt/NewMySQLDataDir/mysql/ |
+----------------------------+
1 row in set (0.01 sec)
(ici le nouveau datadir et socket est /mnt/NewMySQLDataDir
A adapter à ta conf

Et c'est tout.


Supprimer un lien symbolique

exemple

Code : Tout sélectionner

-rw-rw-r-- 1 2014-01-02 09:21 tmo
lrwxrwxrwx 1 2014-01-02 09:21 tmo2 -> tmo

Code : Tout sélectionner

rm tmo
et c'est tout
# HOME: FreeBSD 12.1, DEBIAN SID [XFCE, Fluxbox] # WORK : Mint 18.3 & 20 # VPS + SERVEUR ProLiant: DEBIAN STABLE
[ GIT : https://github.com/CyrilleBiot | Site : https://cbiot.fr ]

Avatar du membre
Nerva
Messages : 218
Enregistré le : lun. 4 mars 2019 18:48

Re: Supprimer un lien symbolique

Message par Nerva »

J'avais essayé en modifiant le chemin dans /etc/mysql/mysql.conf.d/mysqld.cnf :

Code : Tout sélectionner

datadir = /var/lib/mysql
par :

Code : Tout sélectionner

datadir = /var/lib/home/nerva/mysql
Mais comme ça ne fonctionnait pas, j'ai tout remis en place avant de tenter l'option du lien symbolique.

Pour ce qui est de ton mode opératoire, voici le contenu du fichier my.cnf :

Code : Tout sélectionner

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
Linux Mint 19.3 Tricia 64 | Noyau 5.4.0-51 | Cinnamon 4.4.8

Avatar du membre
cyrille
modérateur
Messages : 5617
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nord - Avesnois
Contact :

Re: Supprimer un lien symbolique

Message par cyrille »

faut aussi bouger le socket

Et après vérif le fichier n'est pas le bon. Je ne fais pas ça tous les jours.

C'est ici que ça se passe

Code : Tout sélectionner


 cd /etc/mysql/conf.d
cat mysql.cnf 
[mysql]
tu mets tes options persos ici

Code : Tout sélectionner

[mysqld]
. . .
datadir=/mnt/NouVEAUDIR/mysql
socket=/mnt/NouVEAUDIR/mysql/mysql.sock
. . .
# HOME: FreeBSD 12.1, DEBIAN SID [XFCE, Fluxbox] # WORK : Mint 18.3 & 20 # VPS + SERVEUR ProLiant: DEBIAN STABLE
[ GIT : https://github.com/CyrilleBiot | Site : https://cbiot.fr ]

Avatar du membre
Nerva
Messages : 218
Enregistré le : lun. 4 mars 2019 18:48

Re: Supprimer un lien symbolique

Message par Nerva »

Ça ne fonctionne pas, même retour que tout à l'heure. J'ai trouvé un tuto ici qui explique à peu près la même chose (socket excepté) :

https://www.it-connect.fr/changer-lempl ... nees-mysql

J'ai suivi aussi à la lettre, mais ça ne marche pas.
Linux Mint 19.3 Tricia 64 | Noyau 5.4.0-51 | Cinnamon 4.4.8

Avatar du membre
cyrille
modérateur
Messages : 5617
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nord - Avesnois
Contact :

Re: Supprimer un lien symbolique

Message par cyrille »

normalement ça doit,
quand tu relances le service , que te donne

Code : Tout sélectionner

select @@datadir;
dans une console sql

Vérffier aussi les droits et les logs de mysql pour savoir d'où vient le hic
# HOME: FreeBSD 12.1, DEBIAN SID [XFCE, Fluxbox] # WORK : Mint 18.3 & 20 # VPS + SERVEUR ProLiant: DEBIAN STABLE
[ GIT : https://github.com/CyrilleBiot | Site : https://cbiot.fr ]

Avatar du membre
Nerva
Messages : 218
Enregistré le : lun. 4 mars 2019 18:48

Re: Supprimer un lien symbolique

Message par Nerva »

J'ai regardé un peu plusieurs tutos, il n'y en a pas un qui dit pareil ! Au hasard, en plus de la procédure, un tuto dit qu'il faut également modifier le fichier /etc/apparmor.d/usr.sbin.mysqld en changeant également le chemin.

Là j'ai encore rechargé les valeurs par défaut mais select @@datadir; me renvoyait un message d'erreur que j'ai déjà oublié.
Linux Mint 19.3 Tricia 64 | Noyau 5.4.0-51 | Cinnamon 4.4.8

Avatar du membre
cyrille
modérateur
Messages : 5617
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nord - Avesnois
Contact :

Re: Supprimer un lien symbolique

Message par cyrille »

Nerva a écrit :
sam. 17 oct. 2020 17:18
Là j'ai encore rechargé les valeurs par défaut mais select @@datadir; me renvoyait un message d'erreur que j'ai déjà oublié.
Voilà ton soucis
si ça passe, il doit te renvoyer le nouveau path. C'est une piste, anaalyse l'erreur renvoyée
# HOME: FreeBSD 12.1, DEBIAN SID [XFCE, Fluxbox] # WORK : Mint 18.3 & 20 # VPS + SERVEUR ProLiant: DEBIAN STABLE
[ GIT : https://github.com/CyrilleBiot | Site : https://cbiot.fr ]

Avatar du membre
Nerva
Messages : 218
Enregistré le : lun. 4 mars 2019 18:48

Re: Supprimer un lien symbolique

Message par Nerva »

Bon, je me suis planté complètement et ne sachant plus ce que j'avais modifié, j'ai tout désinstallé, tout nettoyé et tout réinstallé (mes bases étaient sauvegardées en SQL et pour l'instant je ne les ai pas encore importées).

J'ai trouvé un autre mode opératoire dont l'approche est différente mais je préfère demander avant de le tester surtout qu'elle me paraît simpliste et incomplète.

1. Si aucune base de données n'est installée

Couper le serveur.

Créer le nouveau répertoire :

Code : Tout sélectionner

mkdir /home/user/mysql
Lier le nouvel emplacement à celui d'origine :

Code : Tout sélectionner

mount -B /home/user/mysql /var/lib/mysql
Relancer le serveur.

----------

2. Si des bases sont déjà installées

Couper le serveur.

Copier avec autorisations :

Code : Tout sélectionner

rsync -avzh /var/lib/mysql /home/user/mysql
Sauvegarder si problème :

Code : Tout sélectionner

mv /var/lib/mysql /var/lib/mysql_save
Créer dossier vide pour remplacer celui d'origine :

Code : Tout sélectionner

mkdir /var/lib/mysql
Lier le nouvel emplacement à celui d'origine :

Code : Tout sélectionner

mount -B /home/user/mysql /var/lib/mysql
Relancer le serveur.
Linux Mint 19.3 Tricia 64 | Noyau 5.4.0-51 | Cinnamon 4.4.8

Répondre