Якщо я переустановлюю mysql, чи втрачаю я бази даних?


14

У мене на локальному хості встановлений MySQL. Що трапиться, якщо у мене проблема з mysql і я хочу її знову встановити? Чи втрачаю я існуючі бази даних?


Чи не було б краще пояснити свої проблеми з mysql. Тож люди можуть спробувати допомогти вам виправити це. Повторна установка - це більш віконний спосіб вирішення проблем.
rechengehirn

1
Будьте обережні, спочатку варто створити резервну копію ваших баз даних. Ви можете використовувати mysqldump за допомогою параметра --all-databases. dev.mysql.com/doc/refman/5.7/uk/…
Progrock

Відповіді:


11

Ні, перевстановлення mysql-serverне видалить файли бази даних, лише видалить файли пакетів mysql-server. Ви зможете отримати доступ до своїх файлів (бази даних) після перевстановлення сервера.

Щоб очистити та встановити mysql-сервер:

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

Якщо ви також хочете видалити базу даних, її потрібно спочатку видалити, перш ніж видалити mysql. Щоб видалити базу даних чисто, в рядку mysql:

drop database <database_name>

Я знайшов інший спосіб видалити файли бази даних, але я не впевнений, чи це чистий спосіб видалити базу даних, тому прийміть її з дрібкою солі:

З питання про stackoverflow :

Це (розташування файлів бази даних) є специфічним для встановлення, але якщо ви / var / lib / mysql, то:

  • Таблиці MyISAM зберігатимуться в окремих файлах у / var / lib / mysql / namename /
  • InnoDB знаходиться в / var / lib / mysql / ibdata (якщо ви не використовували параметр innodb_per_table; в такому випадку він зберігається приблизно як для таблиць MyISAM)

Тому перевірте розташування ваших баз даних у цих двох місцях та видаліть каталог баз даних (для читання та видалення потрібні права суперпользователя).


Як це зробити, щоб видалити свої файли, якщо я захотів?
Адітя МП

3
це purgeправильна команда, якщо я не хочу втрачати дані?
ahmadali shafiee

0

Це старе питання, але все-таки ось мої 5 ¢:

  1. Спершу зробіть резервну копію бази даних, наприклад, використовуючи mysqldump.
  2. Тепер зробіть sudo apt-get purge mysql-server mysql-server-5.7. Він запитає, чи дійсно ви хочете видалити файли бази даних, натисніть наYes
  3. Перевстановіть mysql за допомогою sudo apt-get install mysql-server mysql-server-5.7
  4. Запустіть базу даних mysql
  5. Відтворити базу даних та її користувача за mysqlдопомогою утиліти командного рядка
  6. Імпортуйте дамп із резервної копії

Ви можете запитати, для чого корисна вся ця процедура: Є випадки, коли база даних mysql мала багато великих транзакцій і займає багато місця на диску. Знищення та відновлення бази даних - це спосіб її знову зменшити.


у деяких випадках видалення db не є можливим .. тому цю відповідь потрібно виправити з цим контекстом ..
Siddharth

0

Використовуйте sudo apt-get remove mysql-server.

Не використовуйте sudo apt-get purge mysql-server, що видалить файли в /var/lib/mysql.


Просто виберіть <No>, коли він попросить видалити всі бази даних MySQL.
mariozawa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.