mysql 5.6 登录 警告_mysql自动备份警告Warning: Using a password on the...

因为备份命令需要用到mysql的root账户和密码,而将账户和密码写入到脚本中无疑是不安全的,5.6.x版本执行备份脚本的时候会发生警告:Warning: Using a password on the command line interface can be insecure,真正安全的做法的是先登录一次将账户和密码加密到当前用户目录下,后续使用就引用即可:

#先输入下面命令,会提示输入对应用户的密码,下面设置了一个mysql的local的本地虚拟用户,注意密码不能用特殊符号

#会在当前用户目录下面生成一个 ~/.mylogin.cnf加密文件,重新设置可以直接删除此文件

mysql_config_editor set --login-path=local --host=localhost --user=root --password

然后弹出输入密码提示,直接输入root的密码即可

#在脚本中使用root和密码,加一句--login-path=local即可,注意是local用户

mysql --login-path=local -e "showdatabases;"

#自动备份,注意--logn-path必须放到所有参数最前面(重要),不然会提示出错

mysqldump --login-path=local --default-character-set=utf8 databaseName | gzip -f > /bakup/path/databaseName.sql.gz

----

#服务器上的备份策略适配mysql5.6及以上

vi /root/mysqlbak.sh

#内容如下

#!/bin/bash

date="$(date +"%Y-%m-%d")"

nobak="Database information_schema mysql performance_schema phpmyadmin sys"

dir=/data/wwwroot/bak

database=`mysql --login-path=local -e "show databases;"`

for v in $database

do

for a in $nobak

do

if [ $a == $v ]

then

continue 2

fi

done

/usr/local/mysql/bin/mysqldump --login-path=local --default-character-set=utf8 $v | gzip > $dir/$v-$date.sql.gz

done

#计划任务

vi /etc/crontab

30 1 * * * root /root/mysqlbak.sh > /dev/null 2>&1

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值