MySQL中用户权限迁移
近期需要对两台mysql进行合并,涉及到用户权限问题,特将需要合并的mysql中的用户权限进行一次迁移,并记录如下
mysql -B -N -uroot -p‘你的密码‘ -S /tmp/mysql3306.sock -e "SELECT CONCAT(‘\‘‘, user,‘\‘@\‘‘, host, ‘\‘‘) FROM user WHERE user NOT IN(‘replication‘,‘root‘,‘‘,‘mysql.session‘,‘mysql.sys‘)" mysql > /tmp/mysql_all_users.txt
while read line; do mysql -B -N -uroot -p‘你的密码‘ -S /tmp/mysql3306.sock -e "SHOW GRANTS FOR $line"; done < /tmp/mysql_all_users.txt > /tmp/mysql_all_users_sql.sql
sed -i ‘s/$/;/‘ /tmp/mysql_all_users_sql.sql
echo "flush privileges;" >> /tmp/mysql_all_users_sql.sql
二、导入用户权限
scp /tmp/mysql_all_users_sql.sql user@192.168.1.123:/tmp/ 回车,输入user的密码
mysql -u root -p"你的密码" -S /tmp/mysql3306.sock < /tmp/mysql_all_users_sql.sql
至此,mysql中用户权限迁移完成。
原文:https://www.cnblogs.com/xzlive/p/15131734.html