让root用户有super权限

来源:这里教程网 时间:2026-03-01 16:48:33 作者:
通过RDS恢复到自建库的root是没有super权限的,解决办法是删除触发器:
mysql> select trigger_schema,trigger_name from information_schema.triggers;
+----------------+----------------------------+
| trigger_schema | trigger_name               |
+----------------+----------------------------+
| sys            | sys_config_insert_set_user |
| sys            | sys_config_update_set_user |
+----------------+----------------------------+
2 rows in set (0.03 sec)
mysql> drop trigger sys.sys_config_insert_set_user;
Query OK, 0 rows affected (0.06 sec)
 
mysql> drop trigger sys.sys_config_update_set_user;
Query OK, 0 rows affected (0.02 sec)
找到自己数据恢复的目录,查找以“.trg”为结尾的触发器文件,这里数据恢复目为/data/czx_mysql/data/mysql,执行find查找口令:
[root@localhost ~]# find /data/czx_mysql/data/mysql -iname *.trg
/data/czx_mysql/data/mysql/proxies_priv.TRG
/data/czx_mysql/data/mysql/user.TRG
查询到2个触发器的文件,更改后缀名,
[root@localhost ~]# mv /data/czx_mysql/data/mysql/user.TRG /data/czx_mysql/data/mysql/user.TRG.back
[root@localhost ~]# mv /data/czx_mysql/data/mysql/proxies_priv.TRG /data/czx_mysql/data/mysql/proxies_priv.TRG.back
退出mysql,重新登录进来:
update mysql.user set Super_priv='Y' where user = 'root';
flush privileg

相关推荐