MySQL 之迁移用户及权限
参考来源:
https://www.cnblogs.com/huangmr0811/p/5570994.html
https://blog.csdn.net/u011665746/article/details/79067656
5.6导出执行脚本:
入参:
export_db_ip=$ #服务器IP
export_db_port=$2 #MySQL端口
export_user=$3 #导出用户
export_user_passwd=$4 #导出用户密码
###传入导出服务器及用户信息
export_db_ip=$
export_db_port=$
export_user=$
export_user_passwd=$ ###文件保存目录
path=`pwd` ###导出用户
mysql -B -N -h $export_db_ip -P $export_db_port -u${export_user} -p${export_user_passwd} -e "SELECT CONCAT('\'', user,'\'@\'', host, '\'') FROM user WHERE user != 'mysql.session' and user != 'mysql.sys' AND user != 'root' AND user != ''" mysql > $path/mysql_all_users.txt ###导出用户权限
while read line;
do
mysql -B -N -h $export_db_ip -P $export_db_port -u${export_user} -p${export_user_passwd} -e "SHOW GRANTS FOR $line";
done < $path/mysql_all_users.txt > $path/mysql_all_users_sql.sql ###每行行尾增加;
sed -i 's/$/;/' $path/mysql_all_users_sql.sql ###立即生效
echo "flush privileges;" >> $path/mysql_all_users_sql.sql
5.7导出执行脚本:
入参:
export_db_ip=$1 #服务器IP
export_db_port=$2 #MySQL端口
export_user=$3 #导出用户
export_user_passwd=$4 #导出用户密码
#!/bin/bash
#Function export user privileges
#5.7存在问题: show grants for 不会给出密码信息,必须用 show create user
# https://dev.mysql.com/doc/refman/5.7/en/show-grants.html
# show create user 为5.7版本开始存在,5.6执行报错。 ###传入导出服务器及用户信息
export_db_ip=$1
export_db_port=$2
export_user=$3
export_user_passwd=$4 ###文件保存目录
path=`pwd` source /etc/profile pwd=password
expgrants()
{
mysql -B -h $export_db_ip -P $export_db_port -u${export_user} -p${export_user_passwd} -N $@ -e "SELECT CONCAT( 'SHOW CREATE USER ''', user, '''@''', host, ''';' ) AS query FROM mysql.user" | \
mysql -h $export_db_ip -P $export_db_port -u${export_user} -p${export_user_passwd} -f $@ | \
sed 's#$#;#g;s/^\(CREATE USER for .*\)/-- \1 /;/--/{x;p;x;}' mysql -B -h $export_db_ip -P $export_db_port -u${export_user} -p${export_user_passwd} -N $@ -e "SELECT CONCAT( 'SHOW GRANTS FOR ''', user, '''@''', host, ''';' ) AS query FROM mysql.user" | \
mysql -h $export_db_ip -P $export_db_port -u${export_user} -p${export_user_passwd} -f $@ | \
sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/-- \1 /;/--/{x;p;x;}'
}
expgrants > $path/mysql_all_users_sql_5.7.sql ###立即生效
echo "flush privileges;" >> $path/mysql_all_users_sql_5.7.sql
导出执行语句:
[root@db02 tmp]# mysql -u root -p < mysql_all_users_sql.sql
MySQL 之迁移用户及权限的更多相关文章
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...
- mysql 新增 删除用户和权限分配
请一定安此步骤来创建新的用户. 1. 新增用户 mysql>insert into mysql.user(Host,User,Password) values("localhost&q ...
- MySQL 授予普通用户PROCESS权限
在MySQL中如何给普通用户授予查看所有用户线程/连接的权限,当然,默认情况下show processlist是可以查看当前用户的线程/连接的. mysql> grant process on ...
- mysql 赋给用户远程权限 grant all privileges on
我配置了权限 就可以在Windows下访问我虚拟机中的数据库了 来源:http://blog.csdn.net/louisliaoxh/article/details/52767209 登录: 在本机 ...
- MySQL中创建用户分配权限
测试环境:CentOS6.8 和 MySQL5.5.4 一 需求 在项目开发的过程中可能需要开放自己的数据库给别人,但是出于安全的考虑,不能同时开放自己服务器里的其他数据库.那么可以新建一个用户,赋予 ...
- MySQL操作(一)用户及权限
一.mysql 里的所有用户都是存储在数据库mysql的user表里 二.创建普通用户.赋权.撤销权限 的操作 1.创建用户(需要先用root进去mysql)格式:create user '用户名 ...
- MySQL授权远程用户登录权限
1 举例子,建数据库,然后 赋予用户远程访问的所有权限,最后刷新权限 create database cmf DEFAULT CHARACTER SET utf8; grant all on cmf. ...
- mysql新加用户设置权限
1.开通操作权限和表权限 GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON interface.* TO test1@'%' identif ...
- mysql 查看用户的权限
show grants for 'username'@'%';
随机推荐
- sqler sql 转rest api 的docker image
最新sqler 又发布了一个版本,同时官方文档也更新,对于数据库的连接有了详细的说明 Dockerfile 为了方便以及减少大小,使用多阶段构建,同时都通过环境变量运行 FROM alpine:lat ...
- SCS Characteristics
Each SCS is an autonomous web application. For the SCS's domain, all data, the logic to process that ...
- Learn ft=rom WTL: CXXImpl<T>
// t9.cpp : Defines the entry point for the console application. // #include "stdafx.h" cl ...
- mongodb之 mongodump 与 mongorestore
一.备份 和之前介绍的 mongoexport 的数据导出工具不同, mongodump 是将数据以二进制形式导出,而 mongoexport 导出的数据格式为 csv 或 json 格式: mong ...
- Linux下使用Quagga(Zebra)搭建路由器记录(转)
写在前面 从22号中午开始琢磨zebra/quagga的用法,一直到晚上11点多都没有什么头绪.各种Google,百度,几近崩溃.由于网上关于zebra/quagga的配置方法都是在真实的若干台电脑上 ...
- spring-整合Struts2
1. Spring 如何在 WEB 应用中使用 ? 1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE ...
- Java模板引擎之Freemarker
Freemarker定义: 一款模板引擎 Freemarker是一个web图层组件不是web框架,解析服务端数据到页面 小例子: <#list 集合 as item> list标签对集合进 ...
- Spring Cloud(Dalston.SR5)--Eureka 服务消费
服务被注册.发布到 Eureka 服务器后,需要有程序去发现他,并且进行调用,称为服务消费,一个服务可能会部署多个实例,调用过程可能涉及负载均衡.服务器查找等问题,这些问题 Netflix 项目已经帮 ...
- 开源Astro(SparkSQL On HBase)
华为2015年7月20日在O'Reilly Open Source Convention (OSCON) 上宣布Spark SQL on HBase package正式开源.Spark SQL on ...
- 了解ARM+Android
第一部分 认识ARM,方案商,GPU , 芯片 1.1 ARM ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能.廉价.耗能低的RISC处理器.相关 ...