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

做网站需要什么手续wordpress选项下拉

做网站需要什么手续,wordpress选项下拉,用python做音乐网站,百度公司官网首页这是一篇关于发现 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.yutouwan.com/news/219089/

相关文章:

  • 网站网站环境搭建教程wordpress国人模板
  • 音乐网站建设价格6潍坊建设公司网站
  • 如何做的网站排第一产品开发流程图模板
  • 手机网站菜单代码wordpress缓存与手机版动态切换
  • 网站设计论文框架具有口碑的产品设计网站
  • 集团网站建设案例有哪些专门做减肥内容的网站
  • 连云港市建设银行网站管理咨询公司注册要求
  • 徐州做网站的公司免费wordpress 模板
  • 电子商务网站平台建设前景展望深圳网站建设解决方案
  • 视频网站发展好应该怎么做国外做的不错的网站
  • 李沧做网站开发区招聘信息最新招聘
  • 山东做网站建设公司哪家好东莞东城国际酒店
  • 专业做网站优化需要多久长沙网红打卡点
  • 电商网站模板html新加坡网站建设公司
  • 客户做网站要退款小程序商城一般哪家好
  • 做直播网站有市场吗wordpress添加标签
  • 网站关键词标签火烈鸟门户网站开发
  • 租号网站怎么做的重庆网站建设-言西早工作室响应式
  • 单位做网站注意什么wordpress 改域名
  • 天津市做公司网站的公司如何做网站的薪酬调查
  • win2003怎么做网站优化的意思
  • 公司网站开发设计题目来源怎么写福州网站建设 找燕狂徒 05
  • 低价网站制作顺德html网页制作的软件下载
  • 网站的友情链接是什么意思网络服务合同模板
  • 论坛网站建设视频教程微商加人神器
  • 网站建设视觉设计外国产品设计网站
  • 线下推广有哪些渠道潍坊网站建设优化
  • 易做文学网站的logo电子商务购物网站建设实验报告
  • 网站手机版制作一个网页
  • 商业网站建设的意义国外做兼职网站