安裝插件mysql
內置插件時服務器可以自動識別的,一般在服務器啓動時加載內置插件。sql
在mysql.plugin表中註冊的插件,這種插件不一樣於內置插件(內置插件不須要註冊),一般在服務器啓動時會加載mysql.plugin表中的插件,同時會啓用這些插件。服務器
使用命令行選項指定的插件:ui
--plugin-load 選項:以分號分隔插件,最後一個--plugin-load生效this
--plugin-load-add:對plugin-load 選項的補充spa
注:這兩個選項都是在內置插件、存儲引擎加載後加載插件
--early-plugin-load:命令行
這個選項是在內置插件、存儲引擎加載前加載server
這三個選項指定的插件都不會註冊到mysql.plugin表中,全部若是在服務器重啓後也可以使用,能夠將其寫到選項文件中。ci
好比:
[mysqld]
plugin-load=myplugin=somepluglib.so
在服務器運行時,經過INSTALL PLUGIN語句安裝插件,經過這種方式安裝的插件會註冊到mysql.plugin表中。好比:
INSTALL PLUGIN myplugin SONAME 'somepluglib.so';
注:若是插件不能再運行時經過INSTALL PLUGIN語句安裝,能夠經過--load-plugin方式加載插件到服務器中。
在服務器啓動時控制插件ACTIVATION狀態:
--plugin_name=OFF
Tells the server to disable the plugin.
This may not be possible for certain built-in plugins, such as mysql_native_password.
--plugin_name[=ON]
Tells the server to enable the plugin. (Specifying the option as --plugin_name without a value has the same effect.) If the plugin fails to initialize, the server runs with the plugin disabled.
--plugin_name=FORCE
Tells the server to enable the plugin, but if plugin initialization fails, the server does not start. In other words, this option forces the server to run with the plugin enabled or not at all.
--plugin_name=FORCE_PLUS_PERMANENT
Like FORCE, but in addition prevents the plugin from being unloaded at runtime. If a user attempts to do so with UNINSTALL PLUGIN, an error occurs.
能夠經過INFORMATION_SCHEMA.PLUGINS表的LOAD_OPTION列查看插件ACTIVATION狀態。
卸載插件
UNINSTALL PLUGIN語句能夠卸載經過INSTALL PLUGIN或者PLUGIN-LOAD方式加載的插件。可是不能卸載內置插件(INFORMATION_SCHEMA.PLUGINS表PLUGIN_LIBRARY字段爲NULL的插件),也不能卸載INFORMATION_SCHEMA.PLUGINS表load_option字段爲FORCE_PLUS_PERMANENT的插件。
注:在卸載經過PLUGIN-LOAD方式加載的插件時,注意要將my.cnf配置文件中相關配置刪除,不然下次啓動時仍然會加載該插件。
查看插件信息
SHOW PLUGINS
INFORMATION_SCHEMA.PLUGINS
MYSQL.PLUGIN