文档章节

mysql安全之loginpath

Mr_Qi
 Mr_Qi
发布于 2017/07/24 10:25
字数 600
阅读 455
收藏 49
点赞 0
评论 5

用了许久的mysql,最近发现了一个新玩具。

对于兼运维的开发同学来说,需要备份数据库。我们一般通过crontab来实现。

执行

crontab -e
30 1 * * * /data/shell/backupdb.sh;

我们在凌晨1:30执行备份数据库操作

脚本如下

/usr/local/mysql/bin/mysqldump -uroot -pXXXX --skip-lock-tables --databases f6dms_trial $(mysql -uroot -pXXXX -Df6dms_trial -Bse "show tables like 'tm_monitor_avg_price_%'"|awk '{print "--ignore-table=f6dms_trial."$1}'|xargs)| gzip > /data/backup/f6dms-trial_`date '+%Y-%m-%d-%H:%M:%S'`.sql.gz;
/usr/local/mysql/bin/mysqldump -uroot -pXXXX --skip-lock-tables --databases f6db_trial f6report_new_trial | gzip > /data/backup/f6db-trial_`date '+%Y-%m-%d-%H:%M:%S'`.sql.gz;

这个关于忽略指定数据表(不定个数)的可以参考mysqldump之跳过指定表

我们这边的显式写上了db的用户名密码,如果该脚本我们是通过svn管理的,那么很容易出现db的用户名密码泄露,导致出现一些安全隐患。

mysql在5.6之后提供了loginpath功能。

loginpath的官方介绍如下

The best way to specify server connection information is with your .mylogin.cnf file. Not only is this file encrypted, but any logging of the utility execution does not expose the connection information. Thus, no user names, passwords, ports, etc. are visible in the log. This is the preferred method for using MySQL Utilities to connect to servers.

Utilities support the use of login-paths in the connection string provided they use the following format login-path-name[:port][:socket] where the port and socket parameters are optional. If used, these optional parameters override the respective options from the specified login-path file.

When using login-paths, there are no default values except on Posix systems when specifying a socket. In this case, the host option defaults to localhost on port 3306. This means that combining the values specified in the login-path with the two optional values port and socket, one needs to specify at least a user, a hostname and a port or socket.

Use the mysql_config_editor tool (http://dev.mysql.com/doc/en/mysql-config-editor.html) to add the connection information as follows.

shell> mysql_config_editor set --login-path=instance_13001 --host=localhost --user=root --port=13001 --password
Enter password: <Password is prompted to be inserted in a more secure way>

我们可以如下执行

mysql_config_editor set --login-path=test --user=root --host=localhost --password
Enter password: (输入密码)
mysql --login-path=test

这样就可以登录成功。

对应会生成.mylogin.cnf 文件

打开后,基本是编码过后的内容,较为安全

这样我们也不需要再显示的写用户名密码了,系统的安全进一步得到提升。

新的代码如下

/usr/local/mysql/bin/mysqldump --login-path=test --skip-lock-tables --databases f6dms_trial $(mysql --login-path=test -Df6dms_trial -Bse "show tables like 'tm_monitor_avg_price_%'"|awk '{print "--ignore-table=f6dms_trial."$1}'|xargs)| gzip > /data/backup/f6dms-trial_`date '+%Y-%m-%d-%H:%M:%S'`.sql.gz;
/usr/local/mysql/bin/mysqldump --login-path=test --skip-lock-tables --databases f6db_trial f6report_new_trial | gzip > /data/backup/f6db-trial_`date '+%Y-%m-%d-%H:%M:%S'`.sql.gz;

 

© 著作权归作者所有

共有 人打赏支持
Mr_Qi
粉丝 253
博文 309
码字总数 325448
作品 0
南京
程序员
加载中

评论(5)

clouddyy
clouddyy
好内容,收藏起来
Mr_Qi
Mr_Qi

引用来自“Abeldu”的评论

cnf存svn?

回复@Abeldu : 一般来说配置是要管理的,运维同学的代码也要版本管理啊
Abeldu
Abeldu
cnf存svn?
p
pz9042
学习了
zzuqiang
zzuqiang
这个挺好的赞一个
session过期跳转登录页面

项目需要做一个自动登出的功能,查询了网上的资料,一开始准备用session监听做,按照下面方式配置监听器 1.在项目的web.xml文件中添加如下代码: ? 2.编写java类。 ? 配置完成后等session失效...

mrliuze
2014/12/17
0
0
实现session超时后自动跳转到登陆页面(前台JS,JAVA,判断是否Ajax请求)

JS实现页面超时后自动跳转到登陆页面 网友方案: 实际操作: java 后台 过滤器实现 客户端JS,用于ajax请求session超时 对于jquery 对于extjs的ajax请求 如果使某个ajax请求不受全局方法的影...

习惯了-想你
2016/12/13
80
0
PHP语法求解释: s/[^$OK_CHARS]/_/go;

请帮解释一下以下PHP脚本(.cgi)格式每行的意义。特别是s/[^$OK_CHARS]/_/go;这句看不懂。 谢谢! 从注释看,这段是拿来处理参数防注入的。 前面没有代码了(只有注释)。 # Our own path $...

龍禳
2013/07/07
314
10
Install Mysql with SELinux on

前言: 今日在部署mysql应用时,遇到mysql无法启动错误 环境: 系统:centos 6.8 x64 mysql:mysql 5.7 问题: 采用mysql 官方yum 源安装mysql5.7,安装后修改了my.cnf 默认的datadir 路径为...

lylspecter
2016/09/20
0
0
MySQL的安全指引

安全的一些常识,可以参考中文文档 以下是我对安全的一些认识 1、基本上数据库不对外开放是DBAs的共识,也就是位于内网,如果需要对外开放,暴露端口,那么你可能需要防火墙以限制风险,一个...

Gary Chen
2015/09/12
0
0
MYSQL数据库被入侵篡改了数据 该如何解决?

接触mysql数据库已经很多年了,经常碰到mysql数据库被攻击,导致用户的数据库 丢失,数据库被删除,花钱找人恢复出来少则几万,多则几十万的花费,在防止数 据库被攻击的同时,也要做好数据库...

网站安全
06/09
0
0
详解Mysql安全配置

1. 前言 Mysql数据库安全配置、或者叫加固属于风险模型中的一环,它需要安全人员在理论和实践的学习中不断发现新的问题,并针对这些问题对数据的各个方面的配置进行强化。本文试图围绕着数据...

buhe888
2014/06/26
0
0
MYSQL安全策略→▉收集整理▋

MySQL安全策略 导读 数据库安全运维是企业业务正常运转的基石,容不得马虎 除了MySQL自身的账号密码安全管理,系统层面、应用层面的安全策略你注意到了吗? 数据是企业核心资产,数据对企业而...

boy461205160
2017/08/14
0
0
【安全牛学习笔记】手动漏洞挖掘-SQL注入

手动漏洞挖掘-SQL注入 root@kali:~# john --format=raw-MD5 dvwa.txt root@kali:~# cd .john/ root@kali:~/.john# ls john.log john.pot root@kali:~/.john# cat john.log root@kali:~/.john......

安全牛课堂
2017/12/03
0
0
MySQL 5.7.10/5.5.47 发布

MySQL 5.7.10 发布,此版本包含安全更新,新特性,改进和 bug 修复。 安全更新 之前 MySQL 加密安全连接只支持 TLSv1 协议,现在添加 TLS 协议支持。 新特性 InnoDB:添加新 调试配置选项 In...

oschina
2015/12/08
7.4K
13

没有更多内容

加载失败,请刷新页面

加载更多

下一页

公众号推荐

阿里技术 书籍:《不止代码》

courtzjl
8分钟前
0
0
关于改进工作效率

1.给不同的业务线建立需求群,所有的数据需求都在群里面提。 2.对于特别难搞定的事情,到对应的技术哪去做,有问题随时沟通。 3.定期给工作总结形成方法论。 4.学习新的技术,尝试用新的方法...

Avner
15分钟前
0
0
关于thinkphp 框架开启路径重写,无法获取Authorization Header

今天遇到在thinkphp框架中获取不到header头里边的 Authorization ,后来在.htaccess里面加多一项解决,记录下: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews Rewrite......

殘留回憶
19分钟前
0
0
centos 使用yum安装nginx后如何添加模块 10

centos 使用yum安装nginx后如何添加模块 10 centos6.2版本,使用yum来安装了nginx,但是最近需要重新添加模块,所以就傻了,询问下有人知道怎么重新添加模块吗? PS:俺是新手,需要高手救助...

linjin200
22分钟前
0
0
dubbo 资料

dubbo资料网站: https://www.cnblogs.com/a8457013/p/7818925.html

zaolonglei
22分钟前
0
0
大型网站,你是如何架构的?

大型网站,你是如何架构的?

微小宝
24分钟前
0
0
javaScript选框的全选与取消

<div> <input type="button" value="全选" onclick="quan()"> <input type="button" value="取消" onclick="cancel()"> <input type="button" value="反选" onclick="reverse()"> <table> <t......

南桥北木
26分钟前
0
0
七牛云宫静:基于容器和大数据平台的持续交付平台

7 月 6 日上午,在 ArchSummit 2018 深圳站 | 全球架构师峰会上,七牛云工程效率部技术专家宫静分享了《基于容器和大数据平台的持续交付平台》为题的演讲。本文是对演讲内容的整理。
 
 本...

七牛云
33分钟前
1
0
Linux系统下如何查看某个命令的安装位置

1.which + 命令 会出现这个命令的路径,如果不是软链接的话,那么这就是此软件的安装路径;如果是软连接的话,那么进入下一步 2.进入上面的路径下,输入:ls -al 要查照的命令 会出现它的真是...

xiaomin0322
33分钟前
1
0
微信小程序富文本图片处理二

一、将富文本中图片的相对链接地址修改成绝对链接地址 //替换图片链接 data.content = data.content.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match......

tianma3798
37分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部