Linux-Mysql备份/数据库迁移~持续更新

文章目录

        • (一)备份方式
        • (二)备份策略
          • (1)物理备份
          • (2)mysqldump逻辑备份
            • 1)表备份
            • 2)数据库备份
          • (3)通过二进制日志进行备份
          • (4)基于快照备份:LVM
          • (5)xtrabackup 备份
        • (三)数据库迁移
          • (1)数据库安装
          • (2)数据库迁移

(一)备份方式

热备份:允许应用程序完全访问数据,不影响数据库读写
冷备份:不允许应用程序完全访问数据,数据库需要停止
温备份:允许应用程序读取数据,但不能修改

(二)备份策略
(1)物理备份

对数据库文件直接拷贝打包

(2)mysqldump逻辑备份

使用 mysqldump 逻辑备份工具,对数据库或表 生成sql文件进行备份

1)表备份

① 将指定数据库的表备份到指定sql文档里

mysqldump -u 用户名 -p  数据库名 表名 > 写入的文件名.sql  #如:mysqldump -u root -p  test test > test.sql

② 查看备份出来的文档内容

vim test.sql     

③ 将已备份的文档写入指定的数据库内

mysql -u 用户名 -p 数据库名< 写入的文件名.sql  #如:mysql -u root -p mysql < test.sql 
2)数据库备份

① 将数据库完全备份到指定文档

mysqldump -u 用户名 -p 数据库名 > 写入的文件名.sql  #如:mysqldump -u root -p test > test1.sql

② 将已备份的文档写入指定的数据库内

mysql -u 用户名 -p 数据库名 < 写入的文件名.sql  #如:mysql -u root -p mysql < test1.sql
(3)通过二进制日志进行备份

1)首先需要开启二进制日志,所有对数据库进行的操作都会被记录下来,详细请参看
https://blog.csdn.net/weixin_44310844/article/details/126493681
2)查看所有二进制日志文件

show binary logs 

3)查看当前所用的日志

show master status    

4)查看日志的内容后,根据要重新备份的截止时间点和开始时间点重新备份
以下语句依次执行,对应信息可根据具体情况修改

mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000001 --stop-datetime='22-08-02 17:30:50' |mysql -uroot -p
mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000001 --start-datetime='22-08-02 17:22:32' |mysql -uroot -p

也可以根据位点进行备份

mysqlbinlog --no-defaults  /var/lib/mysql/mysql-bin.000001 --stop-position='403'|mysql -uroot -p123456	
mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000001 --start-position='351'|mysql -uroot -p123456

5)重新登入数据库后,就会看到数据重新被还原

(4)基于快照备份:LVM

待更新。。。

(5)xtrabackup 备份

待更新。。。

(三)数据库迁移
(1)数据库安装

需要在新的服务器上安装相同版本的数据库
安装方法参考:https://blog.csdn.net/weixin_44310844/article/details/126428595

(2)数据库迁移

此处采用Navicat工具直接同步迁移数据库
1)在Navicat上连接好源库和目标库
2)工具栏里面有个数据传输
Linux-Mysql备份/数据库迁移~持续更新_第1张图片
3)配置好相关信息,此处目标源的库是手动新建的
Linux-Mysql备份/数据库迁移~持续更新_第2张图片
然后选中全部表,即可下一步进行数据传输
Linux-Mysql备份/数据库迁移~持续更新_第3张图片

你可能感兴趣的:(数据库相关,mysql,数据库,linux)