Chinaunix首页 | 论坛 | 博客
  • 博客访问: 551451
  • 博文数量: 76
  • 博客积分: 2990
  • 博客等级: 少校
  • 技术积分: 827
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-26 10:53
文章分类

全部博文(76)

文章存档

2011年(47)

2010年(13)

2009年(5)

2008年(11)

分类: Mysql/postgreSQL

2010-02-23 17:26:09

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"




阅读(4276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~