Как переинициализировать файлы / 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.

Пожалуйста, полностью прочитайте документацию по MySQLmysql_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 включен
Махмуд Мостафа

9

Для 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
единственный ответ, который сработал для меня
Бахаа Одех

mysql Ver 14.14 Distrib 5.7.22, для Linux (x86_64) с использованием оболочки EditLine
Bahaa Odeh
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.