#!/bin/bash
#创建文件的存储目录
mkdir -p /home/mysql/opdir/zfy/privileges
#排除了5开头的端口,因为我们这边5开头是从库的端口
for port in `ps -ef|grep mysqld|grep "\-\-port"|awk -F'--port=' '{print $2}'|grep -v '^5'`
#循环进入mysql实例,查询结果,这个查询可以按照实际的情况方便命名
do
for i in `/home/mysql/mysql_${
port}/bin/mysql --defaults-file=/home/mysql/mysql_${
port}/etc/user.root.cnf -Ne "SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;"|grep -Evi "root|databus_r|bigdata_r|mysqlsync|admin"|awk -F 'User:' '{print $2}'`
do
/home/mysql/mysql_${port}/bin/mysql --defaults- file=/home/mysql/mysql_${port}/etc/user.root.cnf -Ne "show grants for $i;"|grep -Evi "USAGE" >> /home/mysql/opdir/zfy/privileges/${port}.sql
done
done
echo good job!!
写到同一个文件中,并在文件中标明端口
#!/bin/bash
mkdir -p /home/mysql/opdir/zfy/privileges
for port in `ps -ef|grep mysqld|grep "\-\-port"|awk -F'--port=' '{print $2}'|grep -v '^5'`
do
/home/mysql/mysql_${port}/bin/mysql --defaults-file=/home/mysql/mysql_${port}/etc/user.root.cnf -Ne "select @@port;" >>/home/mysql/opdir/zfy/privileges/zonghe4.sql
for i in `/home/mysql/mysql_${
port}/bin/mysql --defaults-file=/home/mysql/mysql_${
port}/etc/user.root.cnf -Ne "SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;"|grep -Evi "root|databus_r|bigdata_r|mysqlsync|admin"|awk -F 'User:' '{print $2}'`
do
/home/mysql/mysql_${port}/bin/mysql --defaults-file=/home/mysql/mysql_${port}/etc/user.root.cnf -Ne "show grants for $i;"|grep -Evi "USAGE" >> /home/mysql/opdir/zfy/privileges/zonghe4.sql
done
done
echo good job!!