운영 체제를 Windows에서 Centos 7로 마이그레이션했지만 mysqldump를 통해 mysql 백업을 받을 수 없습니다. 이제 mysql 데이터 파일 .frm 및 .ibd가 있습니다. 마이그레이션하고 싶습니다.
데이터베이스를 어떻게 마이그레이션할 수 있나요?
답변1
이것은 매우 가능합니다. 제가 설명하려는 프로세스는 Ubuntu 기반 시스템에서 작동하지만 CentOS도 크게 다르지 않기를 바랍니다.
/var/lib/mysql/
기본적으로 mysql 데이터 파일을 이 폴더 에 복사해야 합니다 . MySQL 데이터 파일은 이 폴더에 다음과 같이 배포됩니다.
.
|-- debian-5.5.flag
|-- ibdata1
|-- ib_logfile0
|-- ib_logfile1
|-- drupal
| |-- actions.frm
| |-- actions.MYD
| |-- actions.MYI
| |-- wysiwyg.frm
| |-- wysiwyg.MYD
| |-- wysiwyg.MYI
| |-- wysiwyg_user.frm
| |-- wysiwyg_user.MYD
| |-- wysiwyg_user.MYI
| |-- xmlsitemap.frm
| |-- xmlsitemap.MYD
| |-- xmlsitemap.MYI
| |-- xmlsitemap_sitemap.frm
| |-- xmlsitemap_sitemap.MYD
| `-- xmlsitemap_sitemap.MYI
|-- mysql
| |-- columns_priv.frm
| |-- columns_priv.MYD
| |-- columns_priv.MYI
| |-- db.frm
| |-- db.MYD
| |-- db.MYI
| |-- event.frm
| |-- event.MYD
| |-- event.MYI
| |-- func.frm
| |-- func.MYD
| |-- func.MYI
| |-- general_log.CSM
| |-- general_log.CSV
| |-- general_log.frm
| |-- help_category.frm
| |-- help_category.MYD
| |-- help_category.MYI
| |-- help_keyword.frm
| |-- help_keyword.MYD
| |-- help_keyword.MYI
| |-- procs_priv.MYI
| |-- proxies_priv.frm
| |-- proxies_priv.MYD
| |-- proxies_priv.MYI
| |-- servers.frm
| |-- servers.MYD
| |-- servers.MYI
| |-- slow_log.CSM
| |-- slow_log.CSV
| |-- slow_log.frm
| |-- tables_priv.frm
| |-- tables_priv.MYD
| |-- tables_priv.MYI
| |-- time_zone.frm
| |-- time_zone_leap_second.frm
| |-- time_zone_leap_second.MYD
| |-- time_zone_leap_second.MYI
| |-- time_zone.MYD
| |-- time_zone.MYI
| |-- time_zone_name.frm
| |-- time_zone_name.MYD
| |-- time_zone_name.MYI
| |-- time_zone_transition.frm
| |-- time_zone_transition.MYD
| |-- time_zone_transition.MYI
| |-- time_zone_transition_type.frm
| |-- time_zone_transition_type.MYD
| |-- time_zone_transition_type.MYI
| |-- user.frm
| |-- user.MYD
| `-- user.MYI
|-- mysql_upgrade_info
|-- performance_schema
| |-- cond_instances.frm
| |-- db.opt
| |-- events_waits_current.frm
| |-- events_waits_history.frm
| |-- events_waits_history_long.frm
| |-- events_waits_summary_by_instance.frm
| |-- events_waits_summary_by_thread_by_event_name.frm
| |-- events_waits_summary_global_by_event_name.frm
| |-- file_instances.frm
| |-- file_summary_by_event_name.frm
| |-- file_summary_by_instance.frm
| |-- mutex_instances.frm
| |-- performance_timers.frm
| |-- rwlock_instances.frm
| |-- setup_consumers.frm
| |-- setup_instruments.frm
| |-- setup_timers.frm
| `-- threads.frm
|-- phpmyadmin
| |-- db.opt
| |-- pma_bookmark.frm
| |-- pma_bookmark.MYD
| |-- pma_bookmark.MYI
| |-- pma_column_info.frm
| |-- pma_column_info.MYD
| |-- pma_column_info.MYI
| |-- pma_designer_coords.frm
| |-- pma_designer_coords.MYD
| |-- pma_designer_coords.MYI
| |-- pma_history.frm
| |-- pma_history.MYD
| |-- pma_history.MYI
| |-- pma_pdf_pages.frm
| |-- pma_pdf_pages.MYD
| |-- pma_pdf_pages.MYI
| |-- pma_recent.frm
| |-- pma_recent.MYD
| |-- pma_recent.MYI
| |-- pma_relation.frm
| |-- pma_relation.MYD
| |-- pma_relation.MYI
| |-- pma_table_coords.frm
| |-- pma_table_coords.MYD
| |-- pma_table_coords.MYI
| |-- pma_table_info.frm
| |-- pma_table_info.MYD
| |-- pma_table_info.MYI
| |-- pma_table_uiprefs.frm
| |-- pma_table_uiprefs.MYD
| |-- pma_table_uiprefs.MYI
| |-- pma_tracking.frm
| |-- pma_tracking.MYD
| |-- pma_tracking.MYI
| |-- pma_userconfig.frm
| |-- pma_userconfig.MYD
| `-- pma_userconfig.MYI
따라서 위 명령의 잘린 출력에서 볼 수 있듯이 tree
데이터 파일은 각 데이터베이스와 관련된 하위 폴더 내에 배포됩니다. 아마도 Windows-7의 mysql 데이터베이스도 이 형식으로 데이터를 배포하므로 해당 폴더의 모든 내용을 복사하면 됩니다.
이 작업을 수행한 후에는 또 다른 중요한 단계가 있습니다. 이러한 모든 파일과 폴더의 소유자와 그룹을 mysql
. 이렇게 하려면 /var/lib/mysql
파일을 복사한 후 폴더 내에서 명령을 실행하십시오.
chown -R mysql:mysql *