Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Impor file .frm dan .opt ke MySQL

Sejauh mengimpor data MySQL, tiga (3) hal perlu dipertimbangkan.

MyISAM

Mengimpor tabel MyISAM semudah memindahkan tiga file dengan ekstensi .frm , .MYD , dan .MYI file untuk tabel yang diberikan ke dalam folder MySQL. Misalnya, jika nama tabel adalah mydata, maka tiga (3) file

  • mydata.frm
  • mydata.MYD
  • mydata.MYI

Berikut ini bisa jadi mimpi buruk dari mimpi buruk. Mengimpor InnoDB sepenuhnya bergantung pada banyak faktor yang termasuk dalam salah satu dari dua kategori:

InnoDB (innodb_file_per_table dinonaktifkan [default])

Semua data InnoDB dan halaman indeks terletak di /var/lib/mysql/ibdata1 . File ini harus dipindahkan dari mesin sumber Anda (Server-S) ke mesin target (Server-T) dan ditempatkan di jalur absolut yang sama. Faktanya, inilah yang mengejutkan:Server-S dan Server-T harus sama. Dengan kata lain, Anda tidak dapat mengimpor dan mengekspor .ibd InnoDB file ke mesin lain. Mereka hanya dapat diimpor dan diekspor pada mesin yang sama dengan .ibd telah dibuat pada.

Anda juga harus memindahkan /var/ib/mysql/ib_logfile0 dan /var/ib/mysql/ib_logfile1 dari Server-S dan menempatkannya di jalur absolut yang sama di Server-T.

Anda juga harus memastikan bahwa setiap variabel InnoDB yang diset di /etc/my.cnf dari Server-S harus diset di /etc/my.cnf di Server-T.

InnoDB (innodb_file_per_table diaktifkan)

Untuk setiap tabel InnoDB, akan ada dua file. Misalnya, jika tabel InnoDB di database mydata disebut mytable, Anda akan memiliki /var/lib/mysql/mydata/mytable.frm dan /var/lib/mysql/mydata/mytable.ibd. .ibd file berisi data dan halaman indeks untuk tabel. Untuk mengimpor tabel individual, Anda harus

  1. Tempatkan mytable.frm di folder /var/lib/mysql/mydata folder di Server-T
  2. Tempatkan mytable.ibd di folder /var/lib/mysql/mydata folder di Server-T
  3. Jalankan ALTER TABLE mydata.mytable IMPORT TABLESPACE;

Pastikan Anda memiliki /var/lib/mysql/ibdata1 di tempat yang sama ia diimpor.

Moral cerita

Tolong jangan gunakan teknik IMPORT TABLESPACE di server yang berbeda. Lakukan saja mysqldump dari semuanya dan impor file mysqldump. Pembuangan logis selalu merupakan cara yang paling aman !!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengganti nama tabel di Flask-Alchemy

  2. Permintaan Kembalikan MySQL

  3. Kelas koneksi database PHP

  4. Pernyataan yang disiapkan PHP PDO

  5. Konfigurasi Ketersediaan Tinggi untuk Node ClusterControl Menggunakan CMON HA