方法一、使用mysqldump导出与导入数据
mysqldump 是MySQL官方提供的命令行工具,用于导出数据库中的数据或表的数据。这种方法适用于数据量不是特别巨大,用户熟悉命令行的情况。步骤如下:
1.在源服务器上,打开终端并使用以下命令导出数据库。
mysqldump -u [用户名] -p [数据库名] > backup.sql
mysql -u username -p database_name < file.sql
这里的[用户名]是登录 MySQL 的用户名,[数据库名]是要备份的数据库名称。
其中,username
是数据库用户名,database_name
是要导入数据的数据库名称,file.sql
是要导入的数据库文件路径。这种方法适用于较小的数据库文件。
分割文件导入:如果数据库文件过大,无法一次性导入,可以将大文件分割成多个较小的文件,然后逐个导入。可以使用类似以下命令将大文件分割成小文件:
split -l 100000 file.sql small_file_
该命令将file.sql
分割成每个文件100000行数据的小文件,以small_file_
作为文件名前缀。然后,可以使用命令行工具逐个导入这些小文件:
mysql -u username -p database_name < small_file_1.sql mysql -u username -p database_name < small_file_2.sql …
2.将生成的backup.sql 文件通过 FTP、SCP 等方式传输到目标服务器。
1. 在目标服务器上,执行以下命令将数据导入:
mysql -u [用户名] -p [数据库名] < backup.sql
4.按提示输入密码后,数据就会被导入到目标数据库中。
方法二、物理复制
物理复制是直接复制 MySQL 的数据文件到目标服务器,可以大大缩短迁移时间。如果你对于传输时间要求比较高,可以使用这种方法来完成mysql大量数据迁移。
1. 在源服务器上停止MySQL服务,确保数据一致性。
2. 复制MySQL的数据目录到目标服务器。可以使用rsync进行增量复制,提高效率。
3. 在目标服务器上,根据新环境调整MySQL配置文件。
4. 确保目标服务器上的MySQL数据目录权限正确,MySQL服务能以正确用户身份访问。
5. 在目标服务器上启动MySQL服务,验证数据是否完整可用。
方法三、利用MySQL自带的复制功能
1.在源服务器的my.cnf 文件中添加或修改以下配置:
server-id = 1
log-bin = mysql-bin
2.重启 MySQL 服务后,创建用于复制的用户并授权:
CREATE USER ‘repl_user’@’%’ IDENTIFIED BY ‘password’;
GRANT REPLICATION SLAVE ON *.* TO ‘repl_user’@’%’;
FLUSH PR
mysql sql大文件导入正确姿势