Rumah  >  Artikel  >  pangkalan data  >  Apakah petua penghijrahan pangkalan data dan penggabungan untuk mempelajari MySQL?

Apakah petua penghijrahan pangkalan data dan penggabungan untuk mempelajari MySQL?

PHPz
PHPzasal
2023-07-29 15:58:511499semak imbas

Apakah petua pemindahan pangkalan data dan penggabungan untuk mempelajari MySQL?

MySQL, sebagai sistem pengurusan pangkalan data yang biasa digunakan, sering digunakan dalam pembangunan perisian dan pengurusan data. Apabila perniagaan berkembang dan memerlukan perubahan, pangkalan data kadangkala perlu dipindahkan dan digabungkan. Artikel ini akan memperkenalkan beberapa teknik penghijrahan dan penggabungan pangkalan data MySQL biasa dan memberikan contoh kod yang sepadan.

  1. Migrasi pangkalan data

1.1 Gunakan alat mysqldump untuk mengeksport pangkalan data

mysqldump ialah alat MySQL sendiri untuk mengeksport pangkalan data. Seluruh pangkalan data atau jadual tertentu boleh dieksport ke fail .sql melalui mysqldump, dan kemudian diimport melalui alat mysql pada pelayan lain.

Kod sampel adalah seperti berikut:

# 导出整个数据库
mysqldump -u用户名 -p密码 数据库名 > 导出的文件路径

# 导出指定表
mysqldump -u用户名 -p密码 数据库名 表名 > 导出的文件路径

1.2 Gunakan MySQL Replication untuk melaksanakan pemindahan pangkalan data

MySQL Replication ialah mekanisme replikasi data yang disediakan oleh MySQL, yang boleh menyalin data dari satu pangkalan data ke pangkalan data lain dalam masa nyata. Dengan mengkonfigurasi hubungan antara pelayan tuan dan hamba, operasi tulis boleh dilakukan pada pangkalan data induk, dan pangkalan data hamba akan menyegerakkan data secara automatik.

Kod sampel adalah seperti berikut:

Mula-mula, konfigurasikan pada pangkalan data induk:

# 开启二进制日志
vi /etc/my.cnf
在[mysqld]段中添加:log-bin=mysql-bin
重启MySQL服务:service mysql restart

# 创建一个用于复制的账户
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'从服务器IP' IDENTIFIED BY '密码';

Kemudian, konfigurasikan pada pangkalan data hamba:

# 配置主从关系
CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='slave_user', MASTER_PASSWORD='密码', MASTER_LOG_FILE='主服务器上的二进制日志文件名', MASTER_LOG_POS=主服务器上的二进制日志位置;
# 启动复制过程
START SLAVE;

1.3 Gunakan perintah import dan eksport data MySQL

Selain menggunakan alat mysqld untuk mengeksport pangkalan data, MySQL juga menyediakan perintah import dan eksport data lain, seperti SELECT INTO OUTFILE dan LOAD DATA INFILE.

Kod sampel adalah seperti berikut:

Eksport hasil pertanyaan ke fail:

SELECT * INTO OUTFILE '导出的文件路径' FROM 数据库名.表名;

Import data fail ke dalam jadual:

LOAD DATA INFILE '导入的文件路径' INTO TABLE 数据库名.表名;
  1. Gabung pangkalan data

2.1 Gunakan penyata INSERT INTO berbilang jika anda menjadi satu Dalam pangkalan data, anda boleh menggunakan pernyataan INSERT INTO untuk memasukkan data ke dalam jadual pangkalan data sasaran.

Kod sampel adalah seperti berikut:

INSERT INTO 目标数据库名.目标表名 SELECT * FROM 源数据库名.源表名;

2.2 Menggunakan pernyataan UNION

Jika anda menggabungkan data daripada berbilang pangkalan data ke dalam satu hasil pertanyaan, anda boleh menggunakan pernyataan UNION.

Kod sampel adalah seperti berikut:

SELECT 列名 FROM 数据库名.表名1
UNION
SELECT 列名 FROM 数据库名.表名2;

2.3 Gunakan alat luaran untuk penggabungan data

Selain menggunakan pernyataan MySQL sendiri untuk penggabungan data, anda juga boleh menggunakan alat luaran seperti DataGrip, Navicat, dll. untuk operasi penggabungan data .

Ringkasnya, terdapat banyak cara untuk mempelajari kemahiran penghijrahan dan penggabungan pangkalan data MySQL. Artikel ini menerangkan beberapa teknik biasa dan menyediakan contoh kod yang sepadan. Berdasarkan keperluan sebenar, anda boleh memilih kaedah yang sesuai untuk penghijrahan pangkalan data dan operasi gabungan. Saya harap artikel ini akan membantu untuk mempelajari kemahiran penghijrahan dan penggabungan pangkalan data MySQL.

Atas ialah kandungan terperinci Apakah petua penghijrahan pangkalan data dan penggabungan untuk mempelajari MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn