我需要在Linux服务器上的每晚mysql维护期间取消远程访问,以便在此期间没有人可以查询数据库。我不能做SERVICE MYSQL STOP,因为那样我就不能做我需要做的事情(截断并重建几个表)。有没有办法在短时间内关闭外部访问?
提前致谢。
最佳答案
这是一种无需触摸操作系统中任何内容的好方法:
步骤1)将所有用户导出到SQL文件,如下所示:
步骤2)禁用除root @ localhost之外的所有用户
DELETE FROM mysql.user WHERE CONCAT(user,host) <> 'rootlocalhost';
FLUSH PRIVILEGES;
步骤3)执行维护
步骤4)重新加载赠款
mysql -h localhost -u root -p rootpassword < /root/MySQLGrants.sql
试试看!!!!
聚苯乙烯
服务mysql重新启动--skip-networking
仍然是最简单,最快的方法,加上在维护之前注销所有连接
维护后只需运行服务mysql重新启动