MySQL数据迁移到远程服务器

今天遇到一个问题,需将MySQL数据迁移到远程服务器,下面介绍操作步骤

本地全部数据导出

由于数据量很小,用mysqldump可以直接导出为一个文件

1
mysqldump -u username -p --all-databases > alldata.sql

本地ssh连接远程

1
ssh username@ip

复制本地my.cnf到服务器

1
2
3
4
ssh username@ip
sudo chmod 777 /etc
exit
sudo scp my.cnf remote_username@ip: /etc

将.sql文件复制到远程datadir

1
2
show variables like "datadir%";
sudo scp /Users/lixinyao/alldata.sql remote_username@ip:datadir

更改配置文件并导入数据

更改my.cnf对于导入文件大小的限制

1
max_allowed_packet = 9999999M

导入数据

1
source datadir/data.sql

远程服务器数据复制到本地

在本地执行:

1
sudo scp username@ip:/data0/MysqlDB/mysql/BI_Data/bbbb.txt /Users/lixinyao
喂他一颗糖