MysSQLMariaDB用trigger调用shell
MysSQLMariaDB用trigger调用shell
Windows环境下:
DROP FUNCTION IF EXISTS lib_mysqludf_sys_info;
DROP FUNCTION IF EXISTS sys_get;
DROP FUNCTION IF EXISTS sys_set;
DROP FUNCTION IF EXISTS sys_exec;
DROP FUNCTION IF EXISTS sys_eval;
CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.dll';
CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sys.dll';
CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sys.dll';
CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.dll';
CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.dll';
select sys_eval('ipconfig');
Linux环境下:
在mysql的触发器中执行一个外部程序。
步骤如下:
一、解压附件的压缩包之后
如果不想自己编译的话,,把lib_mysqludf_sys.so文件放到 mysql的lib/mysql/plugin/
目录下。
二、执行chcon -t texrel_shlib_t mysql/lib/mysql/plugin/lib_mysqludf_sys.so
三、创建函数
DROP FUNCTION IF EXISTS lib_mysqludf_sys_info;
DROP FUNCTION IF EXISTS sys_get;
DROP FUNCTION IF EXISTS sys_set;
DROP FUNCTION IF EXISTS sys_exec;
DROP FUNCTION IF EXISTS sys_eval;
CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.so';
四、测试
1、准备sh文件
在linux系统中执行下面的命令
su mysql
mkdir /mysqlUDFtest
cd mysqlUDFtest
vi test.sh
#/bin/sh
date > testlog.txt
chmod +x ./test.sh
2、准备数据库表和触发器
选择一个数据库执行如下命令:
CREATE TABLE test1(a1 INT) engine=InnoDB;
CREATE TABLE test2(a2 INT) engine=InnoDB;
DELIMITER |
DROP TRIGGER /*!50032 IF EXISTS */ `test`.`testref`|
create trigger `test`.`testref` BEFORE INSERT on `test`.`test1`
for each row BEGIN
DECLARE done INT DEFAULT 999;
set done = sys_exec("/mysqlUDFtest/test.sh");
INSERT INTO test2(a2)values(2);
END;
|
DELIMITER ;
3、向test1表中插入一条数据后,请在Linux命令行:用root用户,执行以下命令:find / -name testlog.txt
查找testlog.txt文件。
在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP)
MariaDB Proxy读写分离的实现
Linux下编译安装配置MariaDB数据库的方法
CentOS系统使用yum安装MariaDB数据库
安装MariaDB与MySQL并存
MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里
本文永久更新链接地址:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











MariaDB は、MySQL のブランチであるオープンソースのリレーショナル データベース管理システムです。 PHP は、オープンソースのサーバー側スクリプト言語として、Web 開発で広く使用されています。多くの Web 開発プロジェクトでは、Web アプリケーションにデータを保存および取得するために、PHP を使用して MariaDB データベースに接続する必要があります。この記事では、PHP を使用して MariaDB データベースに接続するコードを記述する方法を紹介します。 1. MariaDB サーバーをインストールし、PHP を使用して Maria に接続します。

PDO を使用して MariaDB データベースに接続する方法 1. はじめに PDO (PHPDataObjects) は、データベースにアクセスするために PHP で使用される軽量の抽象化レイヤーです。これは開発者に、MariaDB、MySQL、SQLite などのさまざまな種類のデータベースに接続して操作するための統合されたインターフェイスのセットを提供します。この記事では、PDO を使用して MariaDB データベースに接続する方法とサンプル コードを紹介します。 2. PDO を使用してインストールおよび構成し、MariaDB に接続します

この記事では、MariaDB と MySQL に関する関連知識を紹介します。主に MariaDB と MySQL の違いについて説明します。興味のある友達は一緒に見てください。皆さんのお役に立てれば幸いです。

DockerCompose、Nginx、MariaDB のベスト プラクティス: デプロイされた PHP アプリケーションの監視と最適化 はじめに: 最新のアプリケーション開発では、コンテナ化はアプリケーションの管理とデプロイを改善するための一般的な方法となっています。 DockerCompose は、複数のコンテナを定義して実行するためのツールであり、アプリケーションのデプロイと管理のプロセスを簡素化します。この記事では、DockerCompose を使用して Nginx と

MariaDB は、オープンソースのマルチスレッド リレーショナル データベース管理システムであり、MySQL に代わるものです。 MariaDB は、Debian における MySQL のデフォルトの代替品です。このチュートリアルでは、Debian12 に MariaDB をインストールする方法を説明します。準備条件 1. Debian12 がインストールされた VPS 仮想マシン (Alibaba Cloud VPS または Tencent Cloud VPS 仮想ホストを購入することをお勧めします。外部サーバーを好む場合は、Vultr で VPS を試すことをお勧めします。登録時に 50 ドルのトライアル体験が可能です)、非常に費用対効果が高くなります)、もちろん、自分のコンピューターまたは仮想マシンでも使用できます。 2. VPS を使用する場合は、セキュリティ上の理由から、非 root アカウントを使用することをお勧めします。これは Debian12 で実行できます。

DockerCompose、Nginx、MariaDB を使用した PHP アプリケーションのネットワーク パフォーマンスの最適化の概要: 今日のインターネット時代では、ネットワーク パフォーマンスは Web アプリケーションの安定性と応答性にとって非常に重要です。 PHP アプリケーションのネットワーク パフォーマンスを向上させるために、コンテナ化テクノロジ DockerCompose、効率的な Web サーバー Nginx、安定したデータベース MariaDB を使用できます。この記事では、これらのツールを使用して PHP アプリケーションのネットワークを最適化する方法を詳しく紹介します。

DockerCompose、Nginx、MariaDB の完璧な組み合わせ: PHP アプリケーションをデプロイするためのベスト プラクティス はじめに: 最新の Web アプリケーション開発では、コンテナ化テクノロジの使用がトレンドになっています。コンテナ化テクノロジでは、アプリケーションとその依存関係を 1 つのコンテナにパッケージ化できるため、コンテナ化テクノロジをサポートするあらゆる環境でアプリケーションを実行できます。 Docker は現在最も人気のあるコンテナ化テクノロジーであり、アプリケーションの展開、管理、拡張を簡素化できます。使用する場合

DockerCompose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス問題の最適化 PHP アプリケーションを開発およびデプロイするときに、パフォーマンスの問題が頻繁に発生します。これらの問題を解決するには、DockerCompose、Nginx、MariaDB を活用してアプリケーションのパフォーマンスを最適化します。 DockerCompose は、複数の Docker コンテナを定義および管理するためのツールです。複数のコンテナを簡単に作成して実行するのに役立ちます
