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?

Konrad Gajewski
sumber

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

RolandoMySQLDBA
sumber
Ini berhasil pada percobaan pertama. Terima kasih. Kata sandi adalah masalah lain.
Konrad Gajewski
Lihat posting saya dba.stackexchange.com/questions/44645/…
RolandoMySQLDBA
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
Cristian Deluxe
sumber
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