非mysql用户使用mysqldump_如何在没有密码提示的情况下执行mysqldump?

本文介绍了如何在不显示密码的情况下,通过设置环境变量MYSQL_PWD来执行mysqldump。这种方法使得在脚本中使用密码更为便捷,但需要注意脚本的安全性,确保其不受未经授权的访问。同时,文中提到了通过输入密码的命令行方式,以及执行示例。
摘要由CSDN通过智能技术生成

一些答案提到将密码放入配置文件中。

另外,您也可以从脚本中进行操作export MYSQL_PWD=yourverysecretpassword。

与使用配置文件相比,此方法的好处在于,不需要单独的配置文件即可与脚本保持同步。您只有要维护的脚本。

有没有缺点给此方法。

该密码对系统上的其他用户不可见(如果在命令行上,则将可见)。环境变量仅对运行mysql命令的用户和root用户可见。

任何可以读取脚本本身的人都可以看到该密码,因此请确保脚本本身受到保护。这与保护配置文件没有什么不同。如果要使脚本公开可读(export MYSQL_PWD=$(cat /root/mysql_password)例如),仍然可以从单独的文件中获取密码。导出变量比构建配置文件要容易得多。

例如,

$ export MYSQL_PWD=$(>&2 read -s -p "Input password (will not echo): "; echo "$REPLY")

$ mysqldump -u root mysql | head

-- MySQL dump 10.13  Distrib 5.6.23, for Linux (x86_64)

--

-- Host: localhost    Database: mysql

-- ------------------------------------------------------

-- Server version   5.6.23

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

$ mysqldump -u root mysql | head

-- MySQL dump 10.13  Distrib 5.6.23, for Linux (x86_64)

--

-- Host: localhost    Database: mysql

-- ------------------------------------------------------

-- Server version   5.6.23

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值