Ich versuche, das Datenverzeichnis meiner MySQL-Datenbank auf ein zweites Festplatten-Array zu verschieben, das ich als Einhängepunkt /array2/
habe .
Das Problem, das ich habe, ist, dass ich alles versucht habe und nachdem ich den Speicherort von datadir in my.cnf geändert habe, startet mysql nicht mehr.
Ich bekomme nur:
start: Job failed to start
Beste Antwort
App Armor vergessen.
Für alle Interessierten habe ich Folgendes getan, um den Ordner zu verschieben.
Stoppen Sie den MySQL-Server:
stop mysql
Erstellen Sie das neue Verzeichnis:
mkdir /array2/mysql
Kopieren Sie NUR die Datenbankordner:
cp -R /var/lib/mysql /array2/mysql
cp -R /var/lib/mysql/users /array2/mysql
Sichern Sie die my.cnf
Datei:
cp /etc/mysql/my.cnf /root/my.cnf.backup
Bearbeiten Sie my.cnf
Datei:
nano /etc/mysql/my.cnf
Ändern Sie alle Erwähnungen des alten Datenverzeichnisses und des alten Sockets in Ihren neuen Speicherort
Meins wurde:
datadir=/array2/mysql
socket=/array2/mysql/mysql.sock
Aktualisieren Sie die Verzeichnisberechtigungen:
chown -R mysql:mysql /array2/mysql
Benennen Sie das alte Verzeichnis um:
mv /var/lib/mysql /var/lib/mysql-old
Erstellen Sie für alle Fälle einen Symlink:
ln -s /array2/mysql /var/lib/mysql
Informieren Sie AppArmor über das neue Datenverzeichnis:
echo "alias /var/lib/mysql/ -> /your/new/datadir/," >> /etc/apparmor.d/tunables/alias
Apparmor-Profile neu laden
sudo /etc/init.d/apparmor reload
Starten Sie dann mysql:
start mysql