当前位置: 首页 > news >正文

简单网站制作步骤wordpress在线考试

简单网站制作步骤,wordpress在线考试,诸暨市住房和城乡建设局网站,网站模板 电器这是一篇关于发现 MariaDB 审计插件导致 MySQL 发生 crash 后#xff0c;展开适配验证并进行故障处理的文章。 作者#xff1a;官永强 爱可生DBA 团队成员#xff0c;擅长 MySQL 运维方面的技能。热爱学习新知识#xff0c;亦是个爱打游戏的宅男。 本文来源#xff1a;原创…这是一篇关于发现 MariaDB 审计插件导致 MySQL 发生 crash 后展开适配验证并进行故障处理的文章。 作者官永强 爱可生DBA 团队成员擅长 MySQL 运维方面的技能。热爱学习新知识亦是个爱打游戏的宅男。 本文来源原创投稿 爱可生开源社区出品原创内容未经授权不得随意使用转载请联系小编并注明来源。 背景 在使用 CentOS Linux release 7.5.1804 (Core) 虚机为 MySQL5.7.34 安装 MariaDB 审计插件时发现当使用通过解压 mariadb-10.1.48-linux-glibc_ 214-x86_64.tar.gz 获得的 server_audit.so 时MySQL 会出现 Crash 的情况通过手动重启 MySQL 也会马上发生 Crash。由此不禁思考 其他版本的审计插件对该版本MySQL是否也有兼容性问题其他版本的MySQL是否也无法使用该版本的审计插件对于这样的情况是否有合适的解决方法 通过查阅官网信息获得 MySQL 5.7 与 MariaDB 10.1 版本审计插件是适配的于是这里选择了 MySQL 5.7 的部分版本与 MariaDB 10.1 的部分版本进行兼容性验证 修改源码前适配情况 MariaDB10.1.34MariaDB10.1.34MariaDB10.1.41MariaDB10.1.48server_audit.so1.4.01.4.41.4.71.4.7MySQL5.7.39××××MySQL5.7.34××××MySQL5.7.33√√√√ 修改源码后适配情况 MariaDB10.1.34MariaDB10.1.34MariaDB10.1.41MariaDB10.1.48server_audit.so1.4.01.4.41.4.71.4.7MySQL5.7.39√√√√MySQL5.7.34√√√√MySQL5.7.33√√√√ 验证流程 安装三个版本的 MySQL过程略。通过官网获取四个版本的 MariaDB 安装包。解压安装包并获取 server_audit.so。为 MySQL 安装审计插件并验证可用性。 # 安装插件示例 # 获取 MariaDB 安装包 https://mariadb.org/download/# 上传并解压安装包 [root10-186-60-13 10.1.11]# tar -zxvf mariadb-10.1.11-linux-glibc_214-x86_64 [root10-186-60-13 10.1.11]# ll total 509368 drwxr-xr-x 33 1001 1001 4096 Jan 28 2016 mariadb-10.1.11 drwxrwxr-x 13 1021 1004 321 Jan 29 2016 mariadb-10.1.11-linux-glibc_214-x86_64 -rw-r--r-- 1 root root 466400911 Jul 19 09:58 mariadb-10.1.11-linux-glibc_214-x86_64.tar.gz -rw-r--r-- 1 root root 55184229 Jul 19 09:57 mariadb-10.1.11.tar.gz# 获取 server_audit.so [root10-186-60-13 10.1.11]# cd mariadb-10.1.11-linux-glibc_214-x86_64/lib/plugin/# 复制该插件到 MySQL 的 plugin 目录下并修改权限 [root10-186-60-13 plugin]# cp server_audit.so /data/mysql/base/5.7.33/lib/plugin/ [root10-186-60-13 plugin]# cd /data/mysql/base/5.7.33/lib/plugin/ [root10-186-60-13 plugin]# chmod 755 server_audit.so# 登录到 MySQL 客户端进行插件的安装 [root10-186-60-13 plugin]# /data/mysql/base/5.7.33/bin/mysql -uroot -p -S /data/mysql/data/3306/mysqld.sock mysql install plugin server_audit SONAME server_audit.so; Query OK, 0 rows affected (0.01 sec)# 检查是否安装成功若不兼容此时 MySQL 会发生 Crash mysql show plugins; | SERVER_AUDIT | ACTIVE | AUDIT | server_audit.so | GPL mysql show plugins; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... ERROR 2002 (HY000): Cant connect to local MySQL server through socket /data/mysql/data/3308/mysqld.sock (111) ERROR: Cant connect to the server# 查看审计插件情况开启审计插件刷新审计插件 log 文件验证插件可用性 mysql show variables like%audit%; mysql set global server_audit_loggingon; mysql set global server_audit_file_rotate_now on; Query OK, 0 rows affected (0.00 sec)# 检查 data 下是否有审计日志文件输出 [root10-186-60-13 ~]# cd /data/mysql/data/3306/ [root10-186-60-13 3306]# ll # 观察到有 server_audit.log 文件输出则插件开启成功 -rw-r----- 1 actiontech-mysql actiontech-mysql 53236 Jul 19 11:10 server_audit.log -rw-r----- 1 actiontech-mysql actiontech-mysql 79363 Jul 19 11:10 server_audit.log.1# 卸载该审计插件进行其他版本适配验证 mysql uninstall plugin server_audit;# 检查插件可用状态为 DELETED 则是卸载成功 mysql show plugins; | SERVER_AUDIT | DELETED | AUDIT | server_audit.so | GPL# 通过刷新审计日志验证是否卸载成功 mysql set global server_audit_file_rotate_now on; ERROR 1193 (HY000): Unknown system variable server_audit_file_rotate_now [root10-186-60-13 ~]# cd /data/mysql/base/5.7.33/lib/plugin/ # 删除审计插件清理 log 文件重启 MySQL [root10-186-60-13 plugin]# rm -rf server_audit.so [root10-186-60-13 3306]# rm -rf server_audit.log [root10-186-60-13 plugin]# systemctl restart mysqld_3306 注参考以上步骤进行各个版本插件兼容性的检验此处不再赘述。 发生 Crash # 安装审计插件 mysql install plugin server_audit SONAME server_audit.so; ERROR 2013 (HY000): Lost connection to MySQL server during query# 检查插件安装情况 mysql show plugins; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... ERROR 2002 (HY000): Cant connect to local MySQL server through socket /data/mysql/data/3308/mysqld.sock (111) ERROR: Cant connect to the server# 检查错误日志发现发生了 Crash Version: 5.7.39-log socket: /data/mysql/data/3308/mysqld.sock port: 3308 MySQL Community Server (GPL) 230719 13:37:36 server_audit: MariaDB Audit Plugin version 1.4.7 STARTED. 05:37:36 UTC - mysqld got signal 11 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. Attempting to collect some information that could help diagnose the problem. As this is a crash and something is definitely wrong, the information collection process might fail. key_buffer_size16777216 read_buffer_size8388608 max_used_connections23 max_threads2000 thread_count17 connection_count17 It is possible that mysqld could use up to key_buffer_size (read_buffer_size sort_buffer_size)*max_threads 20523165 K bytes of memory Hope thats ok; if not, decrease some variables in the equation. Thread pointer: 0x7fcf7469d380 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... stack_bottom 7fcfd411fe68 thread_stack 0x40000 /data/mysql/base/5.7.39/bin/mysqld(my_print_stacktrace0x35)[0xf80e15] /data/mysql/base/5.7.39/bin/mysqld(handle_fatal_signal0x4b9)[0x7ff999] /lib64/libpthread.so.0(0xf6d0)[0x7fd0394ff6d0] /data/mysql/base/5.7.39/lib/plugin/server_audit.so(get_db_mysql570x2f)[0x7fcfe32b852f] /data/mysql/base/5.7.39/lib/plugin/server_audit.so(0xb63b)[0x7fcfe32b863b] /data/mysql/base/5.7.39/bin/mysqld(_Z18mysql_audit_notifyP3THD30mysql_event_general_subclass_tPKciS3_m0x2f1)[0x801ff1] /data/mysql/base/5.7.39/bin/mysqld(my_message_sql0x134)[0x7f1be4] /data/mysql/base/5.7.39/bin/mysqld(my_error0xe0)[0xf7bc30] /data/mysql/base/5.7.39/bin/mysqld(_ZN7handler11print_errorEii0x641)[0x851c11] /data/mysql/base/5.7.39/bin/mysqld[0xd66950] /data/mysql/base/5.7.39/bin/mysqld(_ZN22Sql_cmd_install_plugin7executeEP3THD0x23)[0xd66a53] /data/mysql/base/5.7.39/bin/mysqld(_Z21mysql_execute_commandP3THDb0xe50)[0xd41750] /data/mysql/base/5.7.39/bin/mysqld(_Z11mysql_parseP3THDP12Parser_state0x3cd)[0xd45c7d] /data/mysql/base/5.7.39/bin/mysqld(_Z16dispatch_commandP3THDPK8COM_DATA19enum_server_command0x1780)[0xd474a0] /data/mysql/base/5.7.39/bin/mysqld(_Z10do_commandP3THD0x194)[0xd48064] /data/mysql/base/5.7.39/bin/mysqld(handle_connection0x2ac)[0xe1b58c] /data/mysql/base/5.7.39/bin/mysqld(pfs_spawn_thread0x174)[0x143c5a4] /lib64/libpthread.so.0(0x7e25)[0x7fd0394f7e25] /lib64/libc.so.6(clone0x6d)[0x7fd037fb1bad] Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (7fcf74be91a0): install plugin server_audit SONAME server_audit.so Connection ID (thread ID): 300 Status: NOT_KILLED The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains information that should help you find out what is causing the crash. 解决方法 发生 Crash 后先恢复 MySQL 服务。获取 MariaDB 编译包。对 MariaDB 源码进行编译安装获取编译后的 server_audit.so 并重新安装 # 发生 Crush 后先删除插件 [root10-186-60-13 plugin]# rm -rf server_audit.so# 重启 MySQL 服务并进行登录验证 [root10-186-60-13 plugin]# systemctl restart mysqld_3308 [root10-186-60-13 plugin]# /data/mysql/base/5.7.39/bin/mysql -uroot -p -S /data/mysql/data/3308/mysqld.sock获取 MariaDB 编译包 # 解压安装包 [root10-186-60-13 mariadb-10.1.48]# yum install -y openssl libssl-dev build-essential bison libncurses-dev cmake gcc-gcc git ncurses-devel # 安装编译所需依赖 [root10-186-60-13 10.1.48]# tar -zxvf mariadb-10.1.48.tar.gz [root10-186-60-13 10.1.48]# cd mariadb-10.1.48/plugin/server_audit/ [root10-186-60-13 server_audit]# vim server_audit.c 修改 server_audit.c 文件内的相关代码 # 打开 server_audit.c 文件 db_off 536; // 将 536 修改为 544其他不变 db_len_off 544; // 将 544 修改为 552其他不变 然后保存退出。 # 返回源文件根目录进行编译安装 [root10-186-60-13 server_audit]# cd ../.. cmake . -DCMAKE_INSTALL_PREFIX/usr/local/mysql \ -DMYSQL_DATADIR/mydata/data \ -DWITH_INNOBASE_STORAGE_ENGINE1 \ -DWITH_ARCHIVE_STORAGE_ENGINE1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE1 \ -DWITH_READLINE1 \ -DWITH_SSLsystem \ -DWITH_ZLIBsystem \ -DWITH_LIBWRAP0 \ -DMYSQL_UNIX_ADDR/tmp/mysql.sock \ -DDEFAULT_CHARSETutf8 \ -DDEFAULT_COLLATIONutf8_general_ci# 执行 make 进行编译安装 [root10-186-60-13 server_audit]# make 注编译完成后重新安装插件即可此处不再赘述。 编译后安装报错 在修改源码后进行编译安装遇到报错。 # MariaDB 10.1.41插件版本为 1.4.7 mysql install plugin server_audit SONAME server_audit.so; ERROR 1030 (HY000): Got error 1 from storage engine 此时检查 mysql-error.log 发现无相关报错信息输出。 解决方法 通过测试发现该问题可以通过重启 MySQL 解决。重启后MySQL 会自动安装该插件然后再开启插件即可。 总结 追溯该审计插件与 MySQL 5.7.34 版本不兼容的原因其实还是因为 MariaDB 审计插件中 #ifdef __x86_64__ 下的 db_off 与 db_len_off 的字符长度定义与 MySQL 不适配所以在 MySQL 中安装该插件就会发生 Crash通过修改 MariaDB 审计插件的源码进行编译安装即可解决该问题。 由于官方对 MariaDB 和 MySQL 并未做功能适配故 MySQL 安装不同版本的审计插件可能还会出现其他问题导致 Crash以上方法仅针对该版本安装时发生 Crash 的场景。 建议在使用该插件时选用 MariaDB 10.2.X、MariaDB 10.3.X 的最新版本来获取审计插件。 另外由于审计插件与 MySQL 未适配的原因您若是需要在生产环境下进行使用请先进行版本适配验证以免造成损失。 更多技术文章请访问https://opensource.actionsky.com/ 关于 SQLE 爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者支持多场景审核支持标准化上线流程原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。 SQLE 获取 类型地址版本库https://github.com/actiontech/sqle文档https://actiontech.github.io/sqle-docs/发布信息https://github.com/actiontech/sqle/releases数据审核插件开发文档https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtouse
http://www.w-s-a.com/news/606744/

相关文章:

  • 高端网站建设wanghess网站开发售后服务承诺
  • 江西网站建设费用企业网站推广的方法有( )
  • 中国十大网站开发公司企业网站建设的要素有哪些
  • 网站防站做网站吉林
  • 嘉定区网站建设公司企业信息公示查询系统官网
  • 一个具体网站的seo优化产品介绍网站模板下载地址
  • 怎么做网站在网上能搜到你哈尔滨网站建立公司
  • 做家旅游的视频网站上海百度公司总部
  • 微信小程序公司网站怎么制作区块链平台定制开发
  • 网站资质优化ip地址域名解析
  • 如何搭建个人网站ps做网站首页怎么运用起来
  • 中小企业商务网站建设wordpress 安全加固
  • asp网站开发设计文档php建设网站怎么用
  • 服装公司网站建设需求分析报告seo搜索引擎优化实战
  • wordpress 扒站最近最新新闻
  • 手机wap网站开发与设计wordpress域名无法访问
  • 百度收录网站收费吗做网站用vs还是dw
  • 维度网络专业做网站嘉兴网站建设方案服务
  • 成品电影网站建设中国最顶尖设计师
  • 网站建设报价清单明细视频网站如何做营销
  • 建设农业网站的论文做国外网站有哪些
  • 怎么做网页 网站制作张家港网站制作哪家好
  • 创世网站建设公司书籍封面设计网站
  • 国外优秀网站设计欣赏小程序推广赚佣金
  • 徐州人才网官方网站邯郸seo优化公司
  • 海南响应式网站建设哪里好瑞安电影城网站建设
  • wordpress widgetkit济南优化网站厂家
  • 麦片网站建设佛山短视频推广渠道
  • 免费自助建网站销售的网络建设
  • 传媒大气的网站网站怎么做分类聚合