Jak ponownie zainicjować pliki / var / lib / mysql?
15
Z powodu nieszczęścia usunąłem cały katalog / var / lib / mysql. Ponieważ baza danych nie zawierała niczego ważnego, nie chcę przechodzić przez proces przywracania jej ze starej kopii zapasowej, ale zamiast tego utworzyć strukturę katalogów od zera. Jak to zrobić bez ponownej instalacji MySQL?
mysql_install_db inicjuje katalog danych MySQL i tworzy zawarte w nim tabele systemowe, jeśli nie istnieją. Inicjuje także systemowy obszar tabel i powiązane struktury danych potrzebne do zarządzania tabelami InnoDB. Począwszy od MySQL 5.6.8, mysql_install_db jest skryptem Perla i może być używany w dowolnym systemie z zainstalowanym Perlem. Przed 5.6.8 jest to skrypt powłoki i jest dostępny tylko na platformach Unix.
może być również konieczne, restorecon -r /var/lib/mysqljeśli SELinux jest włączony
Mahmoud Mostafa,
10
W przypadku MySQL 5.7> wystarczy:
# Move or remove the original dir
mv /var/lib/mysql /tmp/mysql
#Create a new dir
mkdir /var/lib/mysql
# Change owner to mysql (userandgroup)
chown -R mysql:mysql /var/lib/mysql
#Create MySQL initial data
mysqld --initialize
restorecon -r /var/lib/mysql
jeśli SELinux jest włączonyW przypadku MySQL 5.7> wystarczy:
źródło