centos7.3+ mysql5.6 + mysqludf安装

本文详细介绍了在CentOS7.3环境下安装MySQL5.6及mysqludf的过程。包括下载所需软件包、解决编译过程中遇到的问题、配置lib_mysqludf_sys.so等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos7.3+ mysql5.6 + mysqludf安装

相关连接:
http://blog.youkuaiyun.com/jssg_tzw/article/details/73235232
https://github.com/mysqludf
1.下载lib_mysqludf_sys
https://github.com/mysqludf/lib_mysqludf_sys
下载mysql-libs,mysql-connector,MySQL-devel
mysql-libs-5.1.73-5.el6_6.x86_64
mysql-connector-odbc-5.1.5r1144-7.el6.x86_64
MySQL-devel-5.6.37-1.el7.x86_64
一般只需要MySQL-devel就行
3.编译mysqludf
a. 解压:unzip lib_mysqludf_sys-master.zip

root@tmsjzt1:/opt/lib_mysqludf_sys-master# ll -rwxr-xr-x 1 root root 1544 Sep 7 10:47 install.sh
-rw-r--r-- 1 root root 7715 Sep 7 10:47 lib_mysqludf_sys.c
-rw-r--r-- 1 root root 9934 Sep 7 10:47 lib_mysqludf_sys.html
-rwxr-xr-x 1 mysql mysql 10714 Sep  7 10:48 lib_mysqludf_sys.so
-rw-r--r-- 1 root root 1647 Sep  7 10:47 lib_mysqludf_sys.sql
-rw-r--r-- 1 root root 122 Sep  7 10:47 Makefile

b. 运行:

gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I /usr/include/mysql -I. -shared lib_mysqludf_sys.c -o lib_mysqludf_sys.so
报如下错误:
lib_mysqludf_sys.c:40:23: fatal error: my_global.h: No such file or directory  #include <my_global.h>

解决方法:

安装 MySQL-devel-5.6.37-1.el7.x86_64.rpm   就可以
运行  gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I /usr/include/mysql -I. -shared lib_mysqludf_sys.c -o lib_mysqludf_sys.so

没有报错。

注意:
运行install.sh 会报如下错误,其实这个脚本不需要运行

Compiling the MySQL UDF
   gcc -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o /usr/lib/lib_mysqludf_sys.so
   lib_mysqludf_sys.c:40:23: fatal error: my_global.h: No such file or directory
    #include <my_global.h>
                          ^
   compilation terminated.
   make: *** [install] Error 1
   ERROR: You need libmysqlclient development software installed
   to be able to compile this UDF, on Debian/Ubuntu just run:
   apt-get install libmysqlclient15-dev

尝试很多方法都 没法通过。其实根本就不需要运行install.sh 。可能是bugs原因,只需要运行

  gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I /usr/include/mysql -I. -shared lib_mysqludf_sys.c -o lib_mysqludf_sys.so

就可以了。

  1. 配置
    a.将生成的lib_mysqludf_sys.so 复制到plugin_dir ,并授mysql权限
root@tmsjzt1:/opt/lib_mysqludf_sys-master# ll
-rwxr-xr-x 1 root  root   1544 Sep  7 10:47 install.sh
-rw-r--r-- 1 root  root   7715 Sep  7 10:47 lib_mysqludf_sys.c
-rw-r--r-- 1 root  root   9934 Sep  7 10:47 lib_mysqludf_sys.html
-rwxr-xr-x 1 mysql mysql 10714 Sep  7 10:49 lib_mysqludf_sys.so
-rw-r--r-- 1 root  root   1647 Sep  7 10:47 lib_mysqludf_sys.sql
-rw-r--r-- 1 root  root    122 Sep  7 10:47 Makefile

root@tmsjzt1:/opt/lib_mysqludf_sys-master# chown mysql.mysql lib_mysqludf_sys.so
root@tmsjzt1:/opt/lib_mysqludf_sys-master# cp -p lib_mysqludf_sys.so  /data/mysql/lib/plugin/
root@tmsjzt1:/opt/lib_mysqludf_sys-master# ll /data/mysql/lib/plugin/lib_mysqludf_sys.so
-rwxr-xr-x 1 mysql mysql 10714 Sep  7 10:48 /data/mysql/lib/plugin/lib_mysqludf_sys.so

b.运行lib_mysqludf_sys.sql文件

root@tmsjzt1:/opt/lib_mysqludf_sys-master# mysql -uroot -proot1234
   Warning: Using a password on the command line interface can be insecure.
   Welcome to the MySQL monitor.  Commands end with ; or \g.
   Your MySQL connection id is 642952
   Server version: 5.6.34-log Source distribution
   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
   Oracle is a registered trademark of Oracle Corporation and/or its
   affiliates. Other names may be trademarks of their respective
   owners.
   Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
   (root@localhost:mysql.sock)[(none)]source /opt/lib_mysqludf_sys-master/lib_mysqludf_sys.sql
   Query OK, 0 rows affected, 1 warning (0.02 sec)
   Query OK, 0 rows affected, 1 warning (0.00 sec)
   Query OK, 0 rows affected, 1 warning (0.00 sec)
   Query OK, 0 rows affected, 1 warning (0.00 sec)
   Query OK, 0 rows affected, 1 warning (0.00 sec)
   Query OK, 0 rows affected (0.02 sec)
   Query OK, 0 rows affected (0.00 sec)
   Query OK, 0 rows affected (0.00 sec)
   Query OK, 0 rows affected (0.00 sec)
   Query OK, 0 rows affected (0.00 sec)

5.设置trigger 调用系统脚本

CREATE DEFINER=`fmn`@`%` TRIGGER `fmn`.`test_BEFORE_UPDATE` BEFORE UPDATE ON `test` FOR EACH ROW
BEGIN
      DECLARE ret INT;
       Select sys_exec(concat('echo ',new.a,' ',new.b,' >> /tmp/xx.log'))  INTO ret;
END

对test做操作:

use fmn ;
select * from test ;
insert into test select 1,2 ;
update test set a = 10  limit 2 ;

查看系统文件记录:

root@fmnser:/tmp# cat /tmp/xx.log
  10 2
  10 2
好的,下面为您介绍一下如何在阿里云 CentOS 7.6安装 MySQL 5.6 和 PHP 7.3 的相关内容,并提供一些相关信息。 ### 环境概述 #### 安装步骤简述: 1. **更新系统** 在开始之前,请先确保您的系统是最新的,运行命令 `sudo yum update -y` 更新所有软件包。 2. **安装MySQL 5.6** - 添加 MySQL 源:下载并导入官方 Yum Repository。 ```bash sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm ``` (注意这里虽然是 mysql57 社区版本源文件,但它包含了对旧版的支持选项) - 使用命令配置到指定的社区版本分支 (例如设置回滚兼容模式为 5.6): ```bash sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql56-community ``` - 正式安装 MySQL 数据库服务端程序包及其依赖项: ```bash sudo yum install mysql-server -y ``` - 启动 MySQL 并将其设为开机自启: ```bash sudo systemctl start mysqld sudo systemctl enable mysqld ``` 3. **安装PHP 7.3** - 默认的 CentOS 存储库里提供的PHP版本较老,所以需要启用 EPEL 或者 Remi 软件仓库来获取新版本支持: ```bash sudo yum install epel-release httpd -y sudo yum install remi-release -y sudo yum-config-manager --enable remi-php73 ``` - 接下来就是正式安装 PHP 及其常用模块了: ```bash sudo yum install php php-mysqlnd php-fpm php-json php-opcache php-gd php-xml php-mbstring -y ``` - 配置完成后重启 Apache HTTP Server 让改动生效: ```bash sudo systemctl restart httpd.service ``` 4. **测试环境是否正常工作** 创建一个简单的phpinfo()页面用于验证服务器状态以及检查相关扩展加载情况: 编辑 `/var/www/html/info.php` 写入内容类似以下代码片段保存退出即可访问查看结果; ```php <?php phpinfo(); ?> ``` 浏览器打开链接如 `http://your_server_ip_or_domain_name/info.php`, 如果看到详细的PHP信息说明已经成功部署! --- 以上就是在阿里云CentOS 7.6上搭建包含Mysql5.6 + Php7.3的基础架构的主要流程概要描述啦~ 希望能帮到您哦~
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值