Vật lý di chuyển MySQL mà không có một bãi chứa


7

Một khách hàng yêu cầu tôi di chuyển MySQL DB của anh ấy: Máy chủ không có không gian trống và nó cũng có một bảng rất lớn bị hỏng, vì vậy tôi không thể bỏ nó.

Tôi không thể SỬA CHỮA vì thiếu không gian trống.

Câu hỏi: Có cách nào để di chuyển vật lý các tệp dữ liệu MySQL DB sang máy chủ khác và sử dụng chúng cho MySQL "mới" không?

Câu trả lời:


8

Dưới đây là những gì bạn có thể làm:

  • Máy chủ DB cũ: 10.1.2.30
  • Máy chủ DB mới: 10.1.2.40

BƯỚC 01) Trên Máy chủ cũ, service mysql stop

BƯỚC 02) Trên Máy chủ cũ, rsync -av --progress /var/lib/mysql root@10.1.2.40:/var/lib/mysql

BƯỚC 03) Trên Máy chủ mới, chown -R mysql:mysql /var/lib/mysql

BƯỚC 04) Trên Máy chủ mới, service mysql start

Đảm bảo /var/lib/mysqltrên Máy chủ mới nằm trên ổ đĩa lớn hơn nhiều


Ok, tôi sẽ thử điều đó, tôi đã tải các tệp đó từ /var/lib/mysqlkhi hoàn thành, tôi chỉ cần tải nó lên Máy chủ DB mới. Cảm ơn.
Mariano Argañaraz

Lệnh rsync ở trên đã tạo một thư mục mysql trong /var/lib/mysql. Và tôi biết rằng mysql đã có một mysql trong đó. Vì vậy, tôi đã có cả hai /var/lib/mysql/mysql/var/lib/mysql/mysql/mysql
Matt

5

Bạn cũng có thể di chuyển nó một cách nhanh chóng đến một máy chủ khác, gửi dữ liệu qua các đường ống và SSH. Chẳng hạn, nó rất hữu ích nếu máy chủ đích có phiên bản MySQL khác.

Tôi vừa viết một bài đăng trên blog giải thích cách tôi đã làm nó:

http://blog.techutils.space/2016/02/on-fly-database-migration-b between-two.html

Có một lời giải thích ở đó, nhưng nếu bạn không quan tâm, chỉ cần chạy một cái gì đó như dưới đây.

Máy chủ mục tiêu:

nc -l 3456 | \
  gunzip | \
  pv | \
  mysql -u tdb_user -ptdb_pass targetdatabase

Nguồn máy chủ:

mysqldump -u sdb_user -psdb_pass sourcedatabase | \
  pv | \
  gzip | \
  ssh sshuser@targethost nc 127.0.0.1 3456

1
Tôi thích cách suy nghĩ của bạn
Philᵀᴹ 25/2/2016
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.