如何简单实现mysql数据库迁移

业务场景:需要将服务器A上的mysql数据库迁移到另外一台服务器B。

命令格式
mysqldump [选项] 数据库名 [表名] > 脚本名
mysqldump [选项] --数据库名 [选项 表名] > 脚本名
mysqldump [选项] --all-databases [选项]  > 脚本名
选项说明
参数名 缩写 含义
--host -h 服务器IP地址
--port -P 服务器端口号
--user -u MySQL 用户名
--pasword -p MySQL 密码
--databases 指定要备份的数据库
--all-databases 备份mysql服务器上的所有数据库
--compact 压缩模式,产生更少的输出
--comments 添加注释信息
--complete-insert 输出完成的插入语句
--lock-tables 备份前,锁定所有数据库表
--no-create-db/--no-create-info 禁止生成创建数据库语句
--force 当出现错误时仍然继续备份操作
--default-character-set 指定默认字符集
--add-locks 备份数据库表时锁定数据库表
实例

1.备份所有数据库:

mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db

2.备份指定数据库:

mysqldump -uroot -p test > /backup/mysqldump/test.db

3.备份指定数据库指定表(多个表以空格间隔)

mysqldump -uroot -p  mysql db event > /backup/mysqldump/2table.db

4.备份指定数据库排除某些表

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db

5.备份指定数据库包含函数、视图、事件、触发器

mysqldump -uroot -p test --databases testdb --triggers --events --routines> /backup/mysqldump/test2.db
  1. 用ssh终端连接服务器A
  2. mysqldump指令将数据库表/数据保存成xx.sql文件存到本地

#导出数据到/opt/sqlbak/目录下
# 导出所有数据库的表结构和数据
mysqldump -uroot -p123456 --all-databases > /opt/sqlbak/alldata.sql
# 导出指定数据库的表结构和数据
mysqldump -uroot -p123456 --databases db1 db2 > /opt/sqlbak/alldata.sql
# 导出指定数据库(user)的所有表结构和数据
mysqldump -uroot -p123456 user > /opt/sqlbak/user.sql
# 导出指定数据库(user)的所有表结构(不包含数据)
mysqldump -uroot -p123456 -d user > /opt/sqlbak/user.sql
# 导出指定数据库(user)某一张表(socre)的结构
mysqldump -uroot -p123456 -d user score > /opt/sqlbak/userscore.sql
# 导出指定数据库(user)某一张表(score)的结构和数据
mysqldump -uroot -p123456 user score > /opt/sqlbak/userscoredata.sql

  1. 上传导出的文件到服务器B
  • 可以通过xshell的xftp直接拉过去
  • 使用scp指令传输到/opt/sqlbak/目录下
# '-r' 代表传输的是文件夹,如果传输的是文件,就不需要 -r 
scp  /opt/sqlbak root@192.168.0.100:/opt/
scp [-r] /opt/sqlbak/user.sql root@192.168.0.100:/opt/
  1. 在服务器执行.sql文件完成数据迁移
# 登录mysql
mysql -uroot -p 
输入密码
# 新建迁移保存的数据库, 如果已创建了数据库,则使用 use [databasename] ;
mysql > create database user;
# 执行.sql文件
mysql > source /opt/sqlbak/user.sql;
 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容