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

Pencadangan MySQL:Dapatkah saya menyalin file tabel MyISAM individual ke server lain dengan versi MySQL dan OS berbeda?

Hanya tingkat file yang menyalin tabel MyISAM antara versi server yang sama:
- CPU 'endian' ( SPARC !=x86 )
- Versi MySQL dapat ditingkatkan tanpa konversi (5.0.48 salin ke 5.0 .52 buruk karena perubahan struktur indeks, tetapi salinan 5.0.52 ke 5.1.45 valid).

Waspadalah terhadap kondisi balapan... Anda mungkin mengakses file menggunakan FTP atau alat lain, saat database sedang membaca tabel. Ada tabel 'penghitung' yang diperbarui dalam .MYI bahkan untuk pembacaan tabel yang paling tidak berbahaya.

Saya menemukan yang berikut ini akan memastikan integritas tabel MyISAM untuk manipulasi tingkat file apa pun:

LOCK TABLE x WRITE;
FLUSH TABLE x; -- closes all file handles into table by mysql.
   < perform file-level manipulations >
FLUSH TABLE x; -- A 'stat' of the table occurs and info-schema is updated appropriately.
UNLOCK TABLES;

Jika Anda TIDAK mengunci-menulis tabel Anda, mysql dapat mengaksesnya (membaca atau menulis) saat Anda melakukan penyalinan/manipulasi tingkat file.

Ini juga merupakan mekanisme yang sama yang digunakan untuk mengizinkan 'myisampack', 'myisamchk' untuk tabel pada database HOT yang bahkan memiliki penguncian eksternal yang dinonaktifkan, tanpa khawatir akan korupsi.

-- J Jorgenson --



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara menggunakan LINQ ke SQL dengan mySQL

  2. IntegrityError:(1062, entri duplikat untuk kunci)

  3. Kelompokkan berdasarkan minggu di MySQL

  4. Kueri SELECT kedua jika SELECT pertama mengembalikan 0 baris

  5. Pilih mysql rekursif?