1. 程式人生 > > mysql-5.7.9 shutdown 語法詳解

mysql-5.7.9 shutdown 語法詳解

resp 登錄 ive conn denied 權限不足 這樣的 fec comm

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的一個例子

[[email protected] 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 [email protected]localhost ;
Query OK, 0 rows affected, 1 warning (0.00 sec)

-- [email protected]

----

學習交流

技術分享

mysql-5.7.9 shutdown 語法詳解