MySQL是一種常用的關系型數據庫管理系統(RDBMS),它提供了快速高效的數據存儲和檢索功能,但有時候我們在使用MySQL時會遇到一些錯誤。
在MySQL中,有時會出現錯誤消息“ERROR 1840 (0A000): @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty”。
這個錯誤通常在執行一些操作時出現,MySQL會檢查全局變量GTID_EXECUTED是否為空,如果不為空,那么就不允許設置全局變量GTID_PURGED。
mysql>SET @@GLOBAL.GTID_PURGED='aaa-bbb-ccc-ddd'; ERROR 1840 (0A000): @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty
解決這個問題的方法是,首先需要使用以下命令查看當前GTID_EXECUTED的值:
mysql>SHOW GLOBAL VARIABLES LIKE 'GTID_EXECUTED'; +---------------+---------------+ | Variable_name | Value | +---------------+---------------+ | gtid_executed | | +---------------+---------------+
如果GTID_EXECUTED的值不為空,那么需要先重置它的值為null:
mysql>SET @@GLOBAL.GTID_EXECUTED=''; Query OK, 0 rows affected (0.00 sec)
然后再次嘗試設置GTID_PURGED的值:
mysql>SET @@GLOBAL.GTID_PURGED='aaa-bbb-ccc-ddd'; Query OK, 0 rows affected (0.00 sec)
這樣就可以成功設置GTID_PURGED的值了。
總之,ERROR 1840 是一個比較容易解決的問題,只需要先將全局變量GTID_EXECUTED的值設置為空,然后再設置GTID_PURGED的值即可。