Як відновити файли / var / lib / mysql?


15

Через помилку я видалив весь / var / lib / mysql каталог. Оскільки база даних не містить нічого важливого, я не хочу переживати клопоту відновити її зі старої резервної копії, а натомість створити структуру каталогу з нуля. Як це зробити без перевстановлення MySQL?

Відповіді:


18

Ви повинні мати можливість просто запустити mysql_install_dbз командного рядка

mysql_install_db ініціалізує каталог даних MySQL та створює в ньому системні таблиці, якщо вони не існують. Він також ініціалізує системний простір таблиць і пов'язані структури даних, необхідні для управління таблицями InnoDB. Станом на MySQL 5.6.8, mysql_install_db є сценарієм Perl і може використовуватися в будь-якій системі з встановленою Perl. До 5.6.8 це сценарій оболонки і доступний лише на платформах Unix.

Будь ласка, прочитайте документацію MySQL повністюmysql_install_db , потім ...

СПРОБУВАТИ !!!

Якщо з першої спроби не виходить, зробіть це

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

потім mysql_install_dbзнову запустіть


Це спрацювало з першої спроби. Дякую. Пароль - це ще одне питання.
Конрад Гаєвський


Вам також може знадобитися, restorecon -r /var/lib/mysqlякщо SELinux увімкнено
Махмуд Мостафа

10

Для MySQL 5.7> просто:

# 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
єдина відповідь, яка працювала для мене
Bahaa Odeh

mysql Ver 14.14 Distrib 5.7.22 для Linux (x86_64), використовуючи обгортку
EditLine
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.