- Hướng dẫn này là ở Ubuntu nhưng sẽ làm việc trên Redhat, Centos, Fedora, Suse
- Chúng tôi có thể đổ cơ sở dữ liệu, chuyển nó sang máy chủ khác và khôi phục nó
- Nó sẽ chỉ ra cách chăm sóc những thứ như thông tin đăng nhập đã được sửa đổi và di chuyển debain.cnf File 4 DumpS
4.1 Chạy MySQLDump trên máy chủ nguồn: Điều này xây dựng tập lệnh thực thi MySQL cho máy chủ đích. Trong thời gian này, máy chủ MySQL sẽ xếp hàng truy vấn 4.2 Sao chép tệp kết xuất vào Máy chủ đích 4.3 Máy chủ đích trống 4.4 Thực thi tệp kết xuất trên máy chủ DestIntion
Máy chủ A [Máy chủ nguồn] Máy chủ B [Máy chủ đích]
Trường hợp 1: Máy chủ A
root@source$ mysql --defaults-file=/etc/mysql/debain.cnf
mysql>show databases;
mysql>use testdb;[The database to dump]
mysql>show tables;[To Check the tables]
mysql>^c
- Bây giờ đổ các dữ liệu
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
Để sao chép các tệp, hãy tạo khóa SSH trên máy chủ nguồn
root@surce$ ssh-keygen
root@surce$ cat /root/.ssh/id_rsa.pub
select and copy all the ssh key string
root@surce$ scp dump.sql.gz ubuntu@destination:
Máy chủ đích Goto
Bước cuối cùng sao chép nội dung của tệp Debain.cnf
root@surce$ cat /etc/mysql/debain.cnf
[client]
host = localhost
user = debain-sys-maint
password = mysecret
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debain-sys-maint
password = mysecret
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Chọn tất cả và sao chép tệp này vào Máy chủ Detination.
Lưu ý: Đường dẫn sockey có thể khác trong máy của bạn. Sử dụng lệnh định vị để tìm đường dẫn chính xác
Case 2. Máy chủ B thả tất cả các dữ liệu
root@destination$ echo show databases | mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names | awk '{print "drop database "$1";"}'
Nếu lệnh này không bỏ dữ liệu sử dụng nó với tùy chọn -force
root@destination$ echo show databases | mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names | awk '{print "drop database "$1";"}' | mysql --defaults-file=/etc/mysql/debian.cnf -f
Sao chép phím SSH trên máy chủ đích
root@Destination $ echo "Dán khóa ở đây" >> /home/ubuntu/.ssh/authorised_keys
Máy chủ nguồn Goto và sử dụng lệnh SCP để di chuyển kết xuất trên máy chủ đích
[tiêm tệp]
root@destination$ gzip -dc /home/ubuntu/dump.sql.gz | mysql --defaults-file=/etc/mysql/debain.cnf
root@destination$ > /etc/mysql/debain.cnf
root@destination$ nano /etc/mysql/debain.cnf
Dán nội dung của tệp .cnf từ máy chủ nguồn tại đây và lưu tệp: x
root@destination$ mysql --defaults-file= /etc/mysql/debain.cnf
Nếu bạn nhận được lời nhắc MySQL thì mọi thứ sẽ hoạt động
mysql>
2.11.13 & nbsp; sao chép cơ sở dữ liệu MySQL sang máy khác
Trong trường hợp bạn cần chuyển cơ sở dữ liệu giữa các kiến trúc khác nhau, bạn có thể sử dụng mysqldump để tạo một tệp chứa các câu lệnh SQL. Sau đó, bạn có thể chuyển tệp sang máy khác và cung cấp nó làm đầu vào cho máy khách MySQL.mysqldump to create a file containing SQL statements. You can then transfer the file to the other machine and feed it as input to the mysql client.
Sử dụng MySQLDump -Help để xem những tùy chọn nào có sẵn.mysqldump --help to see what options are available.
Cách dễ nhất [mặc dù không phải là nhanh nhất] để di chuyển cơ sở dữ liệu giữa hai máy là chạy các lệnh sau trên máy mà cơ sở dữ liệu được đặt:
mysqladmin -h 'other_hostname' create db_name
mysqldump db_name | mysql -h 'other_hostname' db_name
Nếu bạn muốn sao chép cơ sở dữ liệu từ máy từ xa qua mạng chậm, bạn có thể sử dụng các lệnh này:
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
0Bạn cũng có thể lưu trữ kết xuất trong một tệp, chuyển tệp vào máy đích và sau đó tải tệp vào cơ sở dữ liệu ở đó. Ví dụ: bạn có thể đổ cơ sở dữ liệu vào tệp nén trên máy nguồn như thế này:
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
1Chuyển tệp chứa nội dung cơ sở dữ liệu vào máy đích và chạy các lệnh này ở đó:
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
2Bạn cũng có thể sử dụng MySQLDump và MySQLimport để chuyển cơ sở dữ liệu. Đối với các bảng lớn, điều này nhanh hơn nhiều so với chỉ sử dụng mysqldump. Trong các lệnh sau,
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
5 đại diện cho tên đường dẫn đầy đủ của thư mục bạn sử dụng để lưu trữ đầu ra từ MySQLDump.mysqldump and mysqlimport to transfer the
database. For large tables, this is much faster than simply using mysqldump. In the following commands, root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
5 represents the full path name of the directory you use to store the output from
mysqldump. Đầu tiên, hãy tạo thư mục cho các tệp đầu ra và đổ cơ sở dữ liệu:
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
3Sau đó chuyển các tệp trong thư mục
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
5 sang một số thư mục tương ứng trên máy đích và tải các tệp vào MySQL ở đó:root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
4Đừng quên sao chép cơ sở dữ liệu
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
7 vì đó là nơi lưu trữ các bảng tài trợ. Bạn có thể phải chạy các lệnh với tư cách là người dùng MySQL root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
8 trên máy mới cho đến khi bạn có cơ sở dữ liệu root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
7.Sau khi bạn nhập cơ sở dữ liệu
root@surce$ mysql --defaults-file=/etc/mysql/debain.cnf --all-databses | gzip -c > dump.sql.gz
root@surce$ gzip -dc dump.sql.gz
7 trên máy mới, hãy thực hiện MySQLadmin Flush-Privileges để máy chủ tải lại thông tin bảng cấp.mysqladmin flush-privileges so that the server reloads the grant table information.
Ghi chú
Bạn có thể sao chép các tệp
root@surce$ ssh-keygen
root@surce$ cat /root/.ssh/id_rsa.pub
select and copy all the ssh key string
root@surce$ scp dump.sql.gz ubuntu@destination:
1, root@surce$ ssh-keygen
root@surce$ cat /root/.ssh/id_rsa.pub
select and copy all the ssh key string
root@surce$ scp dump.sql.gz ubuntu@destination:
2 và root@surce$ ssh-keygen
root@surce$ cat /root/.ssh/id_rsa.pub
select and copy all the ssh key string
root@surce$ scp dump.sql.gz ubuntu@destination:
3 cho các bảng root@surce$ ssh-keygen
root@surce$ cat /root/.ssh/id_rsa.pub
select and copy all the ssh key string
root@surce$ scp dump.sql.gz ubuntu@destination:
4 giữa các kiến trúc khác nhau hỗ trợ cùng một định dạng điểm nổi. .