Linux虚拟机Mysql数据库迁移
业务场景:需要将服务器A上的mysql数据库迁移到另外一台服务器B。
- 用ssh终端连接服务器A
- mysqldump指令将数据库表/数据保存成xx.sql文件存到本地
1 导出数据到/root/目录下
(2) 导出所有数据库的表结构和数据
mysqldump -uroot -p123456 --all-databases > /root/alldata.sql
(2)导出指定数据库(user)的所有表结构和数据
mysqldump -uroot -p123456 user > /root/user.sql
(3)导出指定数据库(user)的所有表结构(不包含数据)
mysqldump -uroot -p123456 -d user > /root/user.sql
(4)导出指定数据库(user)某一张表(socre)的结构
mysqldump -uroot -p123456 -d user score > /root/userscore.sql
(5)导出指定数据库(user)某一张表(score)的结构和数据
mysqldump -uroot -p123456 user score > /root/userscoredata.sql
2 上传导出的.sql文件到服务器B
1). 可以通过xshell的xftp直接拉过去
2). 使用scp指令传输到/root目录下
说明:‘-r’ 代表传输的是文件夹,这里传输的是文件,所以不需要 -r
scp [-r] /root/user.sql root@192.168.0.100:/root/
3 在服务器执行.sql文件完成数据迁移
(1)登录mysql
mysql -uroot -p123456
(2)新建迁移保存的数据库
mysql > create database user;
mysql > use user;
(3)设置编码格式
set names utf8;
(4)执行.sql文件
mysql > source /root/user.sql;