MYSQL数据库迁移

方式一:mysqldump

使用mysqldump进行数据备份

在MYSQL 的bin目录下cmd,然后执行以下语句,

c 复制代码
mysqldump -u用户名 -p --single-transaction 数据库名称> 目的文件.sql

然后输入密码。

例如: mysqldump -upenghai1 -p --single-transaction commercial_air_conditioner > commercial_air_conditioner_dump.sql

数据量过大的话会执行一段时间,不要动即可。

commercial_air_conditioner_dump.sql文件即为数据库最后的文件内容。

在目标服务器运行SQL文件

将目的文件.sql 复制到目标服务器MYSQL 的bin目录下,然后cmd,然后执行以下语句:

c 复制代码
mysql  -u用户名 -p 数据库名称< 目的文件.sql

然后输入密码。

例如:mysql -upenghai1 -p commercial_air_conditioner < commercial_air_conditioner_dump.sql

如果不想放置在MYSQL 的bin目录,"<"符号后面的文件名称则为全路径名称。

方式二:使用binlog

(ps:迁移时发现binliog没开,后续实际应用后补全该方式。有需要的同学具体可参考MySQL使用binlog日志恢复数据

先检查是否启用了binlog

c 复制代码
SHOW VARIABLES LIKE 'log_bin';

value的内容为on则表示启用。

找到包含你需要恢复数据的事件的binlog文件和位置。

使用mysqlbinlog工具来解析binlog并将数据导出。

将导出的SQL语句应用到数据库中以恢复数据。

在MYSQL 的bin目录下cmd,然后执行以下语句

c 复制代码
# 查看所有的binlog日志文件
mysql> SHOW BINARY LOGS;
 
# 查看特定binlog文件的内容
mysql> SHOW BINLOG EVENTS IN 'mysql-bin.000001';
 
# 导出特定时间范围内的binlog事件
mysqlbinlog --start-datetime="2021-03-01 00:00:00" --stop-datetime="2021-03-02 00:00:00" \
            --database=dbname mysql-bin.000001 > binlog_output.sql
 
# 导出特定位置范围的binlog事件
mysqlbinlog --start-position=123 --stop-position=456 \
            --database=dbname mysql-bin.000001 > binlog_output.sql
 
# 应用导出的SQL语句到数据库以恢复数据
mysql -u username -p dbname < binlog_output.sql
相关推荐
橙子圆123几秒前
Redis知识6之事务
数据库·redis·缓存
不会摸鱼的小鱼4 分钟前
WSL 安装 Ubuntu 22.04 到指定磁盘
数据库·postgresql·php
m0_7020365312 分钟前
mysql如何导出特定条件的查询数据_使用mysqldump加where参数
jvm·数据库·python
正在走向自律13 分钟前
标量子查询消除:数据库优化器的一场“等价变戏法”
数据库·sql 优化·金仓数据库·数据库性能调优·标量子查询·数据库优化器
逻极13 分钟前
SQLite 从入门到精通:深入理解嵌入式数据库的艺术与科学
数据库·sqlite·记忆·sqlite从入门到精通
看到代码头都是大的22 分钟前
CentoOS7安装mysql 8.0.46
mysql
未来之窗软件服务25 分钟前
数据库优化(九)随机抽选系统数据表 ——东方仙盟
大数据·数据库·数据库优化·仙盟创梦ide·东方仙盟
爱喝水的鱼丶38 分钟前
SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行
运维·服务器·数据库·学习·sap·abap
m0_733565461 小时前
bootstrap怎么实现响应式的文章瀑布流布局
jvm·数据库·python
TE-茶叶蛋1 小时前
sql优化思维
数据库·sql