- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用systemtap来追踪MySQL。
问题是,在配置和构建 MySQL 并启动服务器后,我无法获取服务器中存在的标记信息:
[root@localhost]$ stap -l 'process("/home/mysql/mysql5.5.33/bin/mysqld").mark("*")'
[root@localhost]$
(无输出)
我的环境如下:
1 stap version
$ stap --version
Systemtap translator/driver (version 1.7/0.152 non-git sources)
Copyright (C) 2005-2012 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
enabled features: AVAHI LIBRPM LIBSQLITE3 NSS BOOST_SHARED_PTR TR1_UNORDERED_MAP NLS
2 我使用脚本配置 MySQL 如下:
cmake \
-DCMAKE_INSTALL_PREFIX=/home/mysql/mysql5.6.12 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_DTRACE=1 \
-DWITH_DEBUG=1 \
顺便说一句:我可以获得函数输出[root@localhost] stap -L 'process("/home/mysql/mysql5.6.12/bin/mysqld").function("main")'
process("/home/mysql/mysql5.6.12/bin/mysqld").function("main@/home/mysql/mysql-5.6.12/sql/main.cc:23") $argc:int $argv:char**
readelf -n/home/mysql/mysql5.6.12/bin/mysqld
`偏移量为 0x0000021c 且长度为 0x00000020 的注释:
所有者 数据大小 说明
GNU 0x00000010 NT_GNU_ABI_TAG(ABI 版本标签)
偏移量为 0x0000023c 且长度为 0x00000024 的注释:
所有者 数据大小 说明
GNU 0x00000014 NT_GNU_BUILD_ID(唯一构建 ID 位串)`
最佳答案
似乎 mysql 的 -DENABLED_DTRACE=1 位不足以在 sys/sdt.h 工具中实际编译。如果他们这样做了,您就会在 readelf 中看到额外的数据。您可以尝试查看 mysql 构建树中的各个 .o 文件。例如,Fedora 19 的 mariadb-server 包确实有标记:
% stap -L 'process("/usr/libexec/mysqld").mark("*")'
process("/usr/libexec/mysqld").mark("command__done") $arg1:long
...54 lines omitted...
process("/usr/libexec/mysqld").mark("update__start") $arg1:long
它配置了 -DENABLE_DTRACE=ON。也许你的只是 -DENABLED_DTRACE 与 -DENABLE_DTRACE 的拼写错误?
关于mysql - 使用 SystemTap 跟踪 mysqld,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18185688/
我的问题开始于我无法再以 root 身份登录我的 mysql 安装。我试图在没有打开密码的情况下运行 mysql...但是每当我运行命令时 # mysqld_safe --skip-grant-tab
我的问题开始于我在安装 mysql 时无法再以 root 身份登录。我试图在没有打开密码的情况下运行 mysql ......但是每当我运行命令时 # mysqld_safe --skip-grant
我在 CentOS 上的 mySQL 服务器一直运行正常,但是,我今天突然无法重启mysqld。 1) #/etc/rc.d/init.d/mysqld 启动 显示[失败] 2)查看日志 tail /
ruby 2.2.3p173(2015-08-18 修订版 51636)[x86_64-linux] Rails 5.0.0.1 服务器版本:5.7.13-0ubuntu0.16.04.2(Ubunt
目前我在 Linux Centos 上遇到 mysql 的问题。它突然停止了。 然后我尝试用 service mysqld start 命令启动 mysql,它给出错误 - 尝试启动 MySQL 守护
我刚注册到 Stack Overflow,因为从 2 天前开始我真的无法摆脱这个问题。我使用 Xampp。 所以,我正在关注这个 Laravel tutorial当我从终端输入项目目录或每个其他目录
我在使用 MAMP 启动 MySQL 服务器时遇到问题,问题可能是我似乎无法在打开 MAMP 之前终止所有 mysqld 进程。启动 MAMP 会创建第二个冲突的 mysqld 进程。在打开 MAMP
进程文件: mysqld-nt or mysqld-nt.exe 进程名称: MySQL Daemon 进程类别:存在安全风险的进程 英文描述: mysqld-nt.exe belongs
在我的 CentOS 版本 5.10(最终版本)上,内核版本:Linux 2.6.18-371.6.1.el5 #1 SMP Wed Mar 12 20:08:05 EDT 2014 i686 i68
我尝试通过套接字映射从docker容器访问主机上运行的mysql服务器。 这就是 Dockerfile 的样子。 FROM ubuntu:16.04 ENV container docker ENV
这是我在这里的第一篇文章,所以我希望我做的一切都是正确的,不要忘记任何重要信息。我很高兴得到任何提示,因为我的想法已经用完了(如果我有的话 ;))。 我正在(或曾经)在 Raspbian Jessie
控制台说 [root@ip-172-31-18-2 mysql]# service mysqld start Starting mysqld (via systemctl): Job for mys
我知道以前有人问过这个问题。但我几乎尝试了一切。 我在/var/run/mysqld 中没有像/var/run/mysql 文件夹那样的 .sock 文件 MySQL 似乎正在运行: mysql
我今天尝试连接到 MySQL 服务器,发现我没有任何 mysqld.sock,哪里都没有。 我尝试了几种方法来恢复它,但都没有成功。我试图执行一个./mysqld.start 在 /etc/init.
这对我来说很奇怪,因为当我运行 sudo find/-type smysql.sock 位置是 /opt/lampp/var/mysql/mysql.sock,问题是当我使用 rail s< 启动 r
我正在重置 MYSQL 密码,因为我忘了它。我在 Centos 7 上使用 MYSQL 5.6.41。 我遵循了以下步骤: 停止 MYSQL 使用: service mysql stop 以安全模式启
ubuntu mysql 5.7/var/run/mysqld/mysqld.sock? mysql start ERROR 2002 (HY000): Can't connect to local
我正在尝试使用 docker 运行一个 Ruby on Rails 项目,但我不知道如何让这些东西工作,可能是因为我不熟悉 docker。 我在 Ubuntu 16.04 上,从现在开始: 我已经安装
我在访问我的数据库时遇到问题, 当我尝试运行 mysql -h localhost -u root -p并输入密码 我收到这种错误 ERROR 2002 (HY000): Can't connect
我是 Ubuntu 新手。我在 Ubuntu 上安装了 xampp 并且工作正常。但是当我尝试从终端运行 mysql -u username -p pass 时,我收到了这个错误: ERROR 200
我是一名优秀的程序员,十分优秀!