注意事项
脚本为更新密码, 对应被更新用户(目前为: gin, 根据实际情况修改)需要有在对应linux服务器上的登录权限
执行方式: ./alter_mysql.sh 123457 123458
第一个参数为当前(旧)的登录密码, 第二个参数为新的密码
GRANT ALL PRIVILEGES 根据需要调整
密码生成文件根据需要删除
#!/bin/bash
OLD_PASSWORD=$1
NEW_PASSWORD=$2
MYSQL_USER=gin
function install_info(){
### execute shell param confirm
echo
echo "OLD_PASSWORD: ${OLD_PASSWORD}"
echo "NEW_PASSWORD: ${NEW_PASSWORD}"
echo "MYSQL_USER: ${MYSQL_USER}"
echo
while true; do
read -p "Check that the configuration, press [y/n] to continue: " yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "please input Y/N.";;
esac
done
}
###invoke function
install_info
###get password & publicKey
function check_passwd()
{
if [ -z $OLD_PASSWORD ];
then
echo "OLD_PASSWORD not set"
exit 1
else
echo "OLD_PASSWORD set: $OLD_PASSWORD" > old.tmp
fi
if [ -z $NEW_PASSWORD ];
then
echo "NEW_PASSWORD not set"
exit 1
else
echo "NEW_PASSWORD set: $NEW_PASSWORD" > new.tmp
fi
}
###invoke function
check_passwd
function alter_mysql_passwd()
{
mysql -u"$MYSQL_USER" -p"$OLD_PASSWORD" << EOF
GRANT ALL PRIVILEGES ON *.* TO "$MYSQL_USER"@"%" IDENTIFIED BY "$NEW_PASSWORD" WITH GRANT OPTION;
flush privileges;
EOF
}
###invoke function
alter_mysql_passwd
echo "alter_mysql_passwd completed"