Nếu tôi cài đặt lại mysql tôi có bị mất cơ sở dữ liệu không?


14

Tôi đã cài đặt MySQL trên localhost của tôi. Điều gì xảy ra nếu tôi gặp vấn đề với mysql và tôi muốn cài đặt lại lần nữa? Tôi có bị mất cơ sở dữ liệu hiện tại không?


Sẽ không tốt hơn để giải thích vấn đề của bạn với mysql. Vì vậy, mọi người có thể cố gắng giúp bạn sửa chữa những. Cài đặt lại là một cách để giải quyết vấn đề.
rechengehirn

1
Hãy thận trọng, trước tiên bạn nên sao lưu cơ sở dữ liệu của mình. Bạn có thể sử dụng mysqldump với tùy chọn --all-cơ sở dữ liệu. dev.mysql.com/doc/refman/5.7/vi/ Lời
Progrock

Câu trả lời:


11

Không, cài đặt lại mysql-serversẽ không xóa các tệp cơ sở dữ liệu của bạn, chỉ xóa các tệp gói của mysql-server. Bạn sẽ có thể truy cập các tệp của mình (cơ sở dữ liệu) sau khi bạn cài đặt lại máy chủ.

Để thanh lọc và cài đặt máy chủ mysql:

sudo apt-get purge mysql-server
sudo apt-get install mysql-server

Nếu bạn cũng muốn xóa cơ sở dữ liệu, bạn phải xóa nó trước khi xóa mysql. Để xóa cơ sở dữ liệu một cách sạch sẽ, trên loại dấu nhắc mysql:

drop database <database_name>

Tôi đã tìm thấy một cách khác để xóa các tệp cơ sở dữ liệu, nhưng tôi không chắc liệu đây có phải là một cách sạch để xóa cơ sở dữ liệu hay không, vì vậy hãy lấy nó bằng một nhúm muối:

Từ một câu hỏi trên stackoverflow :

Nó (Vị trí của các tệp cơ sở dữ liệu) là cài đặt cụ thể, nhưng nếu bạn / var / lib / mysql, thì:

  • Các bảng MyISAM sẽ được lưu trữ trong các tệp riêng lẻ trong / var / lib / mysql / databasename /
  • InnoDB cư trú trong / var / lib / mysql / ibdata (trừ khi bạn đã sử dụng cài đặt innodb_per_table, trong trường hợp đó, nó được lưu trữ giống như các bảng MyISAM)

Vì vậy, hãy kiểm tra vị trí của cơ sở dữ liệu của bạn ở hai vị trí này và xóa thư mục của cơ sở dữ liệu (yêu cầu đặc quyền siêu người dùng để đọc và xóa).


Làm thế nào để tôi làm điều đó theo cách để xóa các tập tin của tôi, nếu tôi muốn?
Aditya MP

3
purgelệnh chính xác nếu tôi không muốn mất dữ liệu?
ahmadali shafiee

0

Đây là một câu hỏi cũ, tuy nhiên, đây là 5 của tôi:

  1. Thực hiện sao lưu cơ sở dữ liệu trước, ví dụ: bằng cách sử dụng mysqldump.
  2. Bây giờ, làm sudo apt-get purge mysql-server mysql-server-5.7. Nó sẽ hỏi bạn có thực sự muốn xóa các tệp cơ sở dữ liệu không, nhấp vàoYes
  3. Cài đặt lại mysql bằng cách sử dụng sudo apt-get install mysql-server mysql-server-5.7
  4. Bắt đầu cơ sở dữ liệu mysql
  5. Tạo lại cơ sở dữ liệu và người dùng của nó bằng mysqltiện ích dòng lệnh
  6. Nhập kết xuất từ ​​bản sao lưu của bạn

Bạn có thể hỏi toàn bộ quy trình này phù hợp với điều gì: Có những trường hợp cơ sở dữ liệu mysql đã có nhiều giao dịch lớn và chiếm nhiều không gian trên đĩa. Phá hủy và xây dựng lại cơ sở dữ liệu là một cách thu nhỏ lại.


trong một số trường hợp, việc xóa db không phải là một tùy chọn .. vì vậy câu trả lời này cần được sửa với bối cảnh đó ..
Siddharth

0

Sử dụng sudo apt-get remove mysql-server.

Đừng dùng sudo apt-get purge mysql-server , sẽ loại bỏ các tập tin trong /var/lib/mysql.


Chỉ cần chọn <Không> khi nó yêu cầu bạn xóa tất cả cơ sở dữ liệu MySQL.
mariozawa
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.