linux – 无需root密码即可通过命令行连接到MySQL
发布时间:2020-05-23 21:07:03 所属栏目:Linux 来源:互联网
导读:我正在为某些任务构建一个 Bash脚本.其中一项任务是在同一个bash脚本中创建一个 MySQL DB.我现在正在做的是创建两个变量:一个用于存储用户名,另一个用于存储密码.这是我脚本的相关部分: MYSQL_USER=rootMYSQL_PASS=mypass_goes_heretouch /tmp/$PROY.sql ec
|
我正在为某些任务构建一个 Bash脚本.其中一项任务是在同一个bash脚本中创建一个 MySQL DB.我现在正在做的是创建两个变量:一个用于存储用户名,另一个用于存储密码.这是我脚本的相关部分: MYSQL_USER=root MYSQL_PASS=mypass_goes_here touch /tmp/$PROY.sql && echo "CREATE DATABASE $DB_NAME;" > /tmp/script.sql mysql --user=$MYSQL_USER --password="$MYSQL_PASS" < /tmp/script.sql rm -rf /tmp/script.sql 但总是得到一个错误,说没有密码的用户root访问被拒绝,我做错了什么?我需要为PostgreSQL做同样的事情. 解决方法对于MySQL和PostgreSQL,您都可以在本地配置文件中指定您的用户和密码. .my.cnf用于MySQL,.pgpass用于PostgreSQL.这些文件应该在您的主目录中(即/ .my.cnf)..my.cnf: [mysql] user=user password=password .pgpass: host:port:database:user:password 您可以在此处使用通配符条目,将任何字段替换为*******. PS:请勿在命令行上指明密码!如果您的系统未配置为不显示属于其他用户的进程,则可以使用ps完全显示此信息. @thinice:如果你想创建那些真正安全的文件,你应该这样做: umask 077 touch .my.new.config umask 022 # or whatever was your default 这样,文件将从一开始就使用安全权限创建,没有窃听者有机会获取密码. 无论如何,PostgreSQL将拒绝使用版权高于0600的文件. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- LINUX入门:shell脚本示例:read命令
- linux – Eclipse不会启动,因为`reload maven项目遇到了一个
- LINUX入门:容器:Ubuntu 16.04安装Docker Compose详解
- linux – 为什么我没有在bash中使用kill -9命令获取SIGKILL
- 你如何管理你的EC2 Linux盒子?
- Linux Dev上的Subversion存储库
- linux – 在bash中定义一个类似函数的宏
- linux – 是否有可能拥有100%安全的虚拟专用服务器?
- linux – Bash / Shell – 将所有文件从子目录移动到目标目
- linux – 将PCAP跟踪转换为NetFlow格式
