首页 > 数据库 >mysqldump 远程备份 mysql

mysqldump 远程备份 mysql

时间:2024-09-23 21:15:43浏览次数:8  
标签:TLS 备份 mysqldump mysql backup 数据库

mysqldump 远程备份

使用mysqldump进行远程数据库备份,你需要具备远程服务器的访问权限,并且确保远程服务器的MySQL服务允许远程连接。

mysqldump -u root -p password -h 192.168.1.100 mydatabase > backup.sql

 

mysqldump 指令如下:
  mysqldump -h [服务器IP] -P [mysql端口号] -u [用户名] -p[密码] [数据库名称]> /data/backup/backup_pro.sql

 

mkdir -p /data/backup/
rm -rf /data/backup/*.sql
mysqldump -h 192.168.10.91 -P 13307 -u user_mz -p12345678 db_pro> /data/backup/backup_pro.sql

 可能会出现权限不足的情况,比如防火墙、端口号访问限制,或者mysql连接权限不足等情况

 

=======================================================

mysqldump异地备份数据库 mysqldump备份远程数据库

Mysqldump远程备份mysql数据库

mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。
  操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。

  在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户:backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。

  假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:\bak\的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:

  我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:
mysqldump -ubackup -p123456 -h 192.168.1.2 backup_test > D:\bak\bakcup.sql


  在这段命令中:

  mysqldump是myqldump的程序名了;

  -u是数据库的用户名,后面紧跟着用户名backup;

  -p是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;

  -h是数据库的地址,如果没有此项表明是备份本地的数据库;

  backup_test是要备份的数据库名称;

  >表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。

  一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。

  如果把这个命令写成批处理文件,通过windows的计划任务可以实现定时备份数据。

  在windows下用mysqldump备份数据库,因为没有gzip的压缩引擎,因此不能对备份数据库进行压缩,因此如果备份文件多了要经常清理过期的数据库备份文件。

 

=======================================================

mysqldump: [Warning] Using a password on the command line interface can be insecure.

报错解释:
这个警告是MySQL的mysqldump工具发出的,表示您在命令行中直接使用了密码。这样做可能会有安全风险,因为命令行历史会保留这些密码,其他用户可能会看到它们,并且在shell脚本中直接包含密码可能会导致安全隐患。

解决方法:
最安全的方法是使用MySQL的身份验证插件(如auth_socket或caching_sha2_password),并配合mysqldump的--socket选项,以便使用UNIX socket文件进行身份验证,而不是在命令行中传递密码。

另一种方法是使用--login-path选项,它允许你在~/.mylogin.cnf文件中安全地储存登录凭证,而不是在命令行中直接输入密码。

如果你必须在命令行中使用密码,可以使用-p选项,但紧随其后指定密码,这样密码就不会保留在命令行历史中:

mysqldump -u username -pYourPassword database_name

 

=======================================================
mysqldump: Got error: 2026: SSL connection error: protocol version mismatch when trying to connect

错误解释:

这个错误表明在使用mysqldump进行数据库备份时,客户端和MySQL服务器之间的SSL连接出现了协议版本不匹配的问题。这通常发生在客户端尝试使用的SSL/TLS协议版本高于服务器支持的版本时。

解决方法:
    检查MySQL服务器支持的SSL/TLS版本:

    你可以通过查看MySQL的系统变量tls_version来了解服务器支持的TLS版本。

SHOW VARIABLES LIKE 'tls_version';

mysql> SHOW VARIABLES LIKE 'tls_version';
+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| tls_version   | TLSv1,TLSv1.1,TLSv1.2 |
+---------------+-----------------------+
1 row in set (0.01 sec)

mysql> 


更新客户端:
如果客户端(如mysqldump工具)的TLS版本太低,可能需要更新到支持较新TLS版本的版本。

配置服务器:
如果服务器不支持你需要的TLS版本,你可以通过修改MySQL的配置文件来启用更高的TLS版本。编辑my.cnf或my.ini文件,在[mysqld]部分添加或修改以下行:

    tls_version = TLSv1.2

    根据需要替换TLSv1.2为服务器支持的其他版本。

    重启MySQL服务:

    在修改配置文件后,需要重启MySQL服务以使更改生效。

    使用兼容的客户端设置:

    如果你不能更改服务器设置,可以尝试在mysqldump命令中添加参数来指定使用兼容的TLS版本。

 

方法一: 在/etc/my.cnf配置文件里添加一行:skip_ssl
方法二:命令行启动添加 --skip-ssl 参数,即  mysql -uroot -p -h 192.168.0.157 --skip-ssl
方法三:命令行启动添加 --ssl-mode 参数,即  mysql -uroot -p -h 192.168.0.157 --ssl-mode=DISABLED
在mysql 8里比较推荐 方法三 方法。
参数–ssl-mode取值
DISABLED :与参数skip-ssl一样,不使用SSL/TLS建立加密连接
PREFERRED :优先尝试使用SSL/TLS建立加密连接,如果无法建立则尝试建立非SSL/TLS连接
REQUIRED :只会尝试使用SSL/TLS建立加密连接
VERIFY_CA: 与REQUIRED行为一样,与此同时会验证server端的证书是否有效
VERIFY_IDENTITY: 与VERIFY_CA行为一样,与此同时验证server端证书的host是否与实际连接的hostname一致

解决办法:
1、找到mysql的配置文件my.cnf
2.在[mysqld]这行下面加上 skip_ssl 即可
按下esc,输入:wq保存退出
3.重启mysql服务即可

 

解决方案:加上参数 --skip-ssl
E:\tools\mysql-5.7.38-winx64\bin\mysqldump --skip-ssl -h%host% -P%port% -u%user% -p%pass% -R -B -c --add-drop-table

 

可行:

mysqldump  --ssl-mode=DISABLED  -u root -pPASSWORD -h SERVER_IP_ADDRESS DATBASENAME > backup20240923vtest.sql


=======================================================

REF

https://blog.51cto.com/u_16213719/11420358

https://cloud.tencent.com/developer/article/2437394

http://www.360doc.com/content/23/1210/15/74661_1107055433.shtml

 

标签:TLS,备份,mysqldump,mysql,backup,数据库
From: https://www.cnblogs.com/emanlee/p/18427797

相关文章

  • mysql数据库 - openEuler安装
    文章目录一、openEuler系统介绍1.1、openEuler系统的起源1.2、openEuler系统的特点1.3、openEuler系统的版本支持二、环境搭建2.1、修改静态地址2.2、修改主机名称2.3、关闭防火墙或放通端口2.4、关闭selinux三、安装mysql数据库3.1、安装mysql3.2、配置mysql数据库及......
  • 第二十三讲:MySQL是怎么保证主备一致的?
    第二十三讲:MySQL是怎么保证主备一致的?简概开篇​ 在前面的文章中,我不止一次地和你提到了binlog,大家知道binlog可以用来归档,也可以用来做主备同步,但它的内容是什么样的呢?为什么备库执行了binlog就可以跟主库保持一致了呢?今天我就正式地和你介绍一下它。毫不夸张地说,MySQ......
  • mysql 语法1
    1、注释单行--多行/**/2、SQL分类主要分为四类DDL、DML、DQL、DCLDDLDataDefinitionLanguage,数据定义语言,用来定义数据库对象(数据库,表,字段)常用指令CREATE:在数据库中创建对象ALTER:更改数据库的结构DROP:从数据库中删除对象TRUNCATE:从表中删除所有记录,包括为记录分......
  • mysqldump Windows 定期自动 备份 mysql
    Windows平台:定期自动备份mysql    一,确定mysqldump.exe 的位置C:\ProgramFiles\MySQL\MySQLServer5.7\bin 二 打开高级系统设置,设置环境变量可右击此电脑——> 点击属性 点击高级系统设置  点击环境变量 编辑系统变量中的Path  设......
  • ubuntu mysql远程连接 bind-address配置
    dd远程连接数据库配置文件bind-address为127.0.0.1(只允许本地连接)但在etc/mysql/mysql.conf.d文件下mysqld.cnf只为可读无法修改步骤    1:找到在ubuntuetc/mysql/mysql.conf.d文件夹右键终端打开。    2:输入sudo-s后输入密码权限登录。    ......
  • MySQL零基础入门教程-3 条件查询、模糊查询、条件关键字和其优先级关系,基础+实战
    教程来源:B站视频BV1Vy4y1z7EX001-数据库概述_哔哩哔哩_bilibili我听课收集整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享本文内容为完整笔记的第三篇 14、条件查询&模糊查询P19-2514.1什么是条件查询?不是将表中所有数据都查出来。是查询出来符合条件的条件查询需要用到whe......
  • MySQL 增删操作面试题
    在数据库操作中,数据的增删是最基础也是最常见的操作。MySQL作为流行的关系型数据库,增删操作在面试中经常涉及。本文准备了30道关于MySQL增删操作的面试题,按照简单、中等、困难的难度划分,并提供了详细的答案和对应的SQL语句。通过这些问题,可以深入理解MySQL在实际应用中的增删操作。......
  • RDS MySql
    第四讲、RDSMySqlRDS是[关系型数据库]务(RelationalDatabaseService)的简称,是一种即开即用、稳定可靠、可弹性伸缩的在线数据库服务。具有多重安全[防护措施]和完善的[性能监控]体系,并提供专业的[数据库备份]、恢复及[优化方案],使您能专注于应用开发和业务发展。一、选型1、......
  • 跟着黑马学MySQL基础篇笔记(4)-多表查询
    37.多表查询-多表关系介绍多表关系概述项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种:一对多(多对一)多对多一对一一对多(多对一)案例:部门与员工的关系......
  • MySQL 左右连接
    在MySQL中,左连接(LEFTJOIN)和右连接(RIGHTJOIN)都是用于在多个表之间进行关联查询的操作。一、左连接(LEFTJOIN)作用:以左表为基础,返回左表中的所有记录以及与右表中匹配的记录。如果右表中没有匹配的记录,则相应的列将填充为NULL。语法结构:SELECTcolumn_name(s)F......