之前如果想关闭一个mysql数据库可以通过kill 命令、mysqladmin shutdown 、service mysqld stop 等这样的方式。
然而在mysql-5.7.9之后mysql终于提供了SQL接口的shutdown语法啦!
SQL接口下的shutdown语法:
语法
1
|
shutdown ; -- 这个shutdown要执行成功要有shutdown权限才行。 |
shutdown的一个例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[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这个进程没有了) |
如果权限不足会看下如下效果:
1
2
|
mysql> shutdown; ERROR 1227 (42000): Access denied; you need ( at least one of ) the SHUTDOWN privilege(s) for this operation |
由于shutdown是实例级的权限、所以授权语句如下:
1
2
3
|
mysql> grant shutdown on *.* to jiangle@‘localhost‘ ; Query OK, 0 rows affected, 1 warning (0.00 sec) -- 授予jiangle@‘localhost‘用户shutdown权限 |
以上所述是小编给大家介绍的Mysql 5.7.9 shutdown 语法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!