Bagaimana cara menginisialisasi ulang file / var / lib / mysql?


15

Karena kecelakaan saya menghapus seluruh direktori / var / lib / mysql. Karena database tidak mengandung sesuatu yang penting, saya tidak ingin melalui kerumitan mengembalikannya dari cadangan lama, tetapi malah membuat struktur direktori dari awal. Bagaimana saya melakukannya tanpa menginstal ulang MySQL?

Jawaban:


17

Anda seharusnya bisa lari mysql_install_dbdari baris perintah

mysql_install_db menginisialisasi direktori data MySQL dan membuat tabel sistem yang dikandungnya, jika tidak ada. Ini juga menginisialisasi tablespace sistem dan struktur data terkait yang diperlukan untuk mengelola tabel InnoDB. Pada MySQL 5.6.8, mysql_install_db adalah skrip Perl dan dapat digunakan pada sistem apa pun dengan Perl yang diinstal. Sebelum 5.6.8, ini adalah skrip shell dan hanya tersedia pada platform Unix.

Silakan baca Dokumentasi MySQL secara penuh untukmysql_install_db , lalu ...

COBALAH !!!

Jika tidak berhasil pada percobaan pertama, lakukan ini

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

lalu jalankan mysql_install_dblagi


Ini berhasil pada percobaan pertama. Terima kasih. Kata sandi adalah masalah lain.
Konrad Gajewski


Anda juga mungkin perlu restorecon -r /var/lib/mysqljika SELinux diaktifkan
Mahmoud Mostafa

9

Untuk MySQL 5.7> cukup:

# 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
satu-satunya jawaban yang berhasil bagi saya
Bahaa Odeh

mysql Ver 14.14 Distrib 5.7.22, untuk Linux (x86_64) menggunakan pembungkus EditLine
Bahaa Odeh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.