mysql-5.7.9 shutdown 语法详解
mysql-5.7.9 终于提供shutdown 语法啦:
之前如果想关闭一个mysql数据库可以通过kill 命令、mysqladmin shutdown 、service mysqld stop 等这样的方式。
然而在mysql-5.7.9之后mysql终于提供了SQL接口的shutdown语法啦!
SQL接口下的shutdown语法:
语法
shutdown ; -- 这个shutdown要执行成功要有shutdown权限才行。
shutdown的一个例子:
[root@workstudio ansible]# mysql -uroot -h127.0.0.1 -- 登录进mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.18-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> shutdown ; -- 通过SQL接口的方式执行shutdown Query OK, 0 rows affected (0.00 sec) -- 在mysql客户端下执行system 来执行linux命令 这里用ps来查看linux上有没有mysqld 这个服务程序了 mysql> system ps -ef | grep mysql root 5709 3403 0 13:32 pts/0 00:00:00 mysql -uroot -h127.0.0.1 root 5720 5709 0 13:33 pts/0 00:00:00 sh -c ps -ef | grep mysql root 5722 5720 0 13:33 pts/0 00:00:00 grep mysql -- 由ps的结果可以看出mysql数据库已经关闭了(mysqld这个进程没有了)
如果权限不足会看下如下效果:
mysql> shutdown; ERROR 1227 (42000): Access denied; you need (at least one of) the SHUTDOWN privilege(s) for this operation
由于shutdown是实例级的权限、所以授权语句如下:
mysql> grant shutdown on *.* to jiangle@'localhost' ; Query OK, 0 rows affected, 1 warning (0.00 sec) -- 授予jiangle@'localhost'用户shutdown权限
----
学习交流