Làm thế nào để tập tin reinitialise / var / lib / mysql?


15

Do một sự cố không đúng, tôi đã xóa toàn bộ thư mục / var / lib / mysql. Vì cơ sở dữ liệu không chứa bất cứ điều gì quan trọng, tôi không muốn gặp rắc rối khi khôi phục nó từ bản sao lưu cũ, mà thay vào đó tạo cấu trúc thư mục từ đầu. Làm thế nào để tôi làm điều đó mà không cần cài đặt lại MySQL?

Câu trả lời:


17

Bạn có thể chỉ cần chạy mysql_install_dbtừ dòng lệnh

mysql_install_db khởi tạo thư mục dữ liệu MySQL và tạo các bảng hệ thống mà nó chứa, nếu chúng không tồn tại. Nó cũng khởi tạo không gian bảng hệ thống và các cấu trúc dữ liệu liên quan cần thiết để quản lý các bảng InnoDB. Kể từ MySQL 5.6.8, mysql_install_db là tập lệnh Perl và có thể được sử dụng trên bất kỳ hệ thống nào có cài đặt Perl. Trước 5.6.8, nó là một tập lệnh shell và chỉ có sẵn trên các nền tảng Unix.

Vui lòng đọc Tài liệu MySQL đầy đủ chomysql_install_db , sau đó ...

HÃY THỬ MỘT LẦN !!!

Nếu nó không hoạt động trong lần thử đầu tiên, hãy làm điều này

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

sau đó chạy mysql_install_dblại


Nó đã làm việc trên lần thử đầu tiên. Cám ơn. Mật khẩu là một vấn đề khác.
Konrad Gajewski


bạn cũng có thể cần phải restorecon -r /var/lib/mysqlbật nếu SELinux được bật
Mahmoud Mostafa

9

Đối với MySQL 5.7> chỉ:

# 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
câu trả lời duy nhất có hiệu quả với tôi
Bahaa Odeh

mysql Ver 14,14 Phân phối 5.7,22, cho Linux (x86_64) bằng cách sử dụng trình bao bọc
EditLine
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.