[转载]Mysql备份与迁移用户权限脚本

2021年11月21日 阅读数:7
这篇文章主要向大家介绍[转载]Mysql备份与迁移用户权限脚本,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。
由于要批量布署公司的应用服务器,其中一个问题是繁多的Mysql用户权限复制,研究和查阅网上资料很久.由于mysql版本不同,否认了直接备份mysql库的方式,最终找到一个省力的解决办法.

#!/bin/bash
#Function export user privileges
#这个函数的原型是参考某国外网站发布的一个技术贴子而写的.
expgrants()
{
mysql -B -N $@ -e "SELECT DISTINCT CONCAT(
'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
) AS query FROM mysql.user" |
mysql $@ |
sed 's/(GRANT .*)/1;/;s/^(Grants for .*)/-- 1 /;/--/{x;p;x;}'
}
expgrants > /tmp/grants.sql
echo -ne "nflush privileges;n" >> /tmp/grants.sql
#本地与对方主机都创建了密钥认证,不提示密码
scp /tmp/grants.sql user1@x.x.x.x:/tmp
ssh user1@x.x.x.x "mysql < /tmp/grants.sql"