3
是否有辦法確定MySQL是否已在mysql中使用skip-grant-tables啓動?我找不到任何東西show variables
確定MySQL是否已使用skip-grant-tables啓動
我想添加一個警衛到啓動sql腳本,以防止UDF函數嘗試創建時,他們不能(例如碼頭啓動運行安裝程序等)
謝謝
是否有辦法確定MySQL是否已在mysql中使用skip-grant-tables啓動?我找不到任何東西show variables
確定MySQL是否已使用skip-grant-tables啓動
我想添加一個警衛到啓動sql腳本,以防止UDF函數嘗試創建時,他們不能(例如碼頭啓動運行安裝程序等)
謝謝
似乎並不存在一個變量來確定。
下面的存儲過程可以給你一些建議:
DELIMITER //
DROP PROCEDURE IF EXISTS `_`.`skip_grant_tables`//
CREATE PROCEDURE `_`.`skip_grant_tables`(OUT `skip_grant` BOOL)
BEGIN
DECLARE `skip_grant_text` TEXT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
GET DIAGNOSTICS CONDITION 1 `skip_grant_text` = MESSAGE_TEXT;
END;
SET `skip_grant` := 0;
GRANT SELECT ON *.* TO ''@'';
IF (`skip_grant_text` REGEXP '--skip-grant-tables option') THEN
SET `skip_grant` := 1;
END IF;
END//
DELIMITER ;
mysql> CALL `_`.`skip_grant_tables`(@`skip_grant_tables?`);
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @`skip_grant_tables?`;
+-----------------------+
| @`skip_grant_tables?` |
+-----------------------+
| 1 |
+-----------------------+
1 row in set (0.00 sec)
聰明......對不起已故的接受 - 我一直在休假。 – Stephen
@Stephen:希望你喜歡你的假期! – wchiquito