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?

Odpowiedzi:


18

Powinieneś być w stanie po prostu uruchomić mysql_install_dbz wiersza poleceń

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.

Przeczytaj całą dokumentację MySQLmysql_install_db , a następnie ...

SPRÓBUJ !!!

Jeśli to nie zadziała przy pierwszej próbie, zrób to

mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql 

następnie biegnij mysql_install_dbponownie


Udało się za pierwszym razem. Dzięki. Hasło to kolejny problem.
Konrad Gajewski


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 (user and group)
chown -R mysql:mysql /var/lib/mysql

# Create MySQL initial data
mysqld --initialize

1
jedyna odpowiedź, która mi
pomogła

mysql 14.14 Distrib 5.7.22, dla Linux (x86_64) przy użyciu opakowania EditLine
Bahaa Odeh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.