MySQL在SQL中呼叫系統命令

2021-10-12 08:45:39 字數 2549 閱讀 4771

2.lib_mysqludf_sys安裝

3.測試

三、其它

linux 發行版:centos linux release 7.6.1810 (core)mysql:5.6.43
udf(user-defined function) 是 mysql 的乙個拓展介面

# git --version
# yum install git
# yum remove git
# yum install gcc gcc-c++
已安裝的可以跳過,或者 後面執行命令時,報錯了再安裝

mysql> select version() from dual;

+-----------+

| version() |

+-----------+

| 5.6.43 |

+-----------+

1 row in set (0.00 sec)

# rpm -ivh [需要安裝的依賴包]

/usr/lib64/mysql/plugin/

mysql> show variables like 'plugin_dir';

+---------------+--------------------------+

| variable_name | value |

+---------------+--------------------------+

| plugin_dir | /usr/lib64/mysql/plugin/ |

+---------------+--------------------------+

1 row in set (0.00 sec)

# mkdir /opt/temp

# cd /opt/temp/

#-- git 轉殖

# git clone

# cd lib_mysqludf_sys

#-- 編譯

# gcc -dmysql_dynamic_plugin -fpic -wall -i/usr/include/mysql -i. -shared lib_mysqludf_sys.c -o lib_mysqludf_sys.so

#-- 拷貝檔案

# cp lib_mysqludf_sys.so /usr/lib64/mysql/plugin/

mysql> source /opt/

temp

/lib_mysqludf_sys/lib_mysqludf_sys.

sqlquery ok,

0rows affected,

1 warning (

0.00 sec)

query ok,

0rows affected,

1 warning (

0.00 sec)

query ok,

0rows affected,

1 warning (

0.00 sec)

query ok,

0rows affected,

1 warning (

0.00 sec)

query ok,

0rows affected,

1 warning (

0.00 sec)

query ok,

0rows affected (

0.01 sec)

query ok,

0rows affected (

0.00 sec)

query ok,

0rows affected (

0.00 sec)

query ok,

0rows affected (

0.00 sec)

query ok,

0rows affected (

0.00 sec)

create trigger test_trigger after insert

on test_table for each row

begin

select @id:=id,@name:=name from test_table into @temp;

set @command := 'mkdir /opt/'+@name+'_'+@id;

select sys_exec(@command) into @msg;

end

mysql中倒入sql檔案,source命令

對於匯入資料量比較小的資料我們可以直接使用mysql的圖形介面進行匯入,但是當資料量比較大時使用使用圖形介面就相對於慢很多了,於是我們可以使用mysql資料庫的乙個命令source命令來進行資料的匯入。mysql use dbtest mysql set names utf8 mysql sourc...

在shell指令碼中呼叫sql語句

s 靜默登入 oracle localhost shells cat shell1.sh bin bash 查詢員工資訊 sqlplus s nolog 在sqlplus的eof中,單引號中的取變數符號和外面不同 它可以取到變數值 oracle localhost shells cat shell4...

在MySQL中執行SQL檔案

在程式初始化時一般會把要執行的sql語句放到乙個sql檔案,在程式安裝時自動執行,其實就是批處理執行sql命令。同樣,可以手動執行sql檔案,具體步驟如下 1 使用root帳戶登入到mysql伺服器 2 執行source命令 mysql source c test.sql 注意 檔案路徑中建議使用 ...