我的环境是:centos7 + mysql5.7.26,今天在用 mysqldumpslow 命令查看慢查询日志时出现下面的错误

[root@localhost ~]# mysqldumpslow -t 1
Can't determine basedir from 'my_print_defaults mysqld' output: --server-id=1
--port=3306
--character_set_server=utf8
--collation-server=utf8_general_ci
--lower_case_table_names=1
...省略

翻译过来的意思是: 无法从 'my_print_defaults mysqld' 输出中确定 basedir(mysql的安装目录) ,原因是因为在安装 mysql 时没有设置 basedir 参数,也就是 mysql 的安装路径。

从网上找到的办法有的是需要执行 mysql_install_db 命令

mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

还有的需要修改环境变量等等。

因为我的现在运行的 mysql 是用 rpm 包安装的,安装时安装目录是系统自动分配的,数据库目录,bin 目录等都是分散的,没有集中,上面的解决办法都不合适,最后参考了一下这篇文章的解决办法,MySQL Slow Queries Error: Can't determine basedir from 'my_pri,在之前的命令最后加上慢查询日志的文件名,这个问题就解决了。

[root@localhost ~]# mysqldumpslow -t 5 /var/lib/mysql/localhost-slow.log
Reading mysql slow query log from /var/lib/mysql/localhost-slow.log
Count: 2 Time=0.08s (0s) Lock=0.00s (0s) Rows=14.0 (28), root[root]@localhost
show databases
Count: 8 Time=0.01s (0s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost
Count: 2 Time=0.01s (0s) Lock=0.00s (0s) Rows=1.0 (2), root[root]@localhost
show variables like 'S'

分析一下这个问题产生的原因,如果 mysqldumpslow 命令最后不加慢查询日志的文件地址,mysql 会从默认配置中读取慢查询日志的文件地址,而确定慢查询日志地址的第一步肯定是确定 mysql 软件的安装路径,因为我的在安装时并没有配置,所以就产生了上面的问题。

Can't determine basedir from my_print_defaults mysqld的更多相关文章

  1. 解析mysql慢日志

    mysql慢日志太多,需要分析下具体有哪些慢日志 mysql可以直接记录所有慢日志,现在的问题是将日志文件sql进行去重 想了老半天该怎样将sql的查询字段去掉进行排序,没有get到重点.后来发现my ...

  2. CentOS编译安装lamp

    LAMP环境搭建(编译安装CentOS+httpd2.2+mysql5.5+php5.4) 首先准备以下压缩包 <ignore_js_op> (1)编译安装apache 1.配置防火墙,开 ...

  3. 卸载Mariadb-报错

    1. rpm -qa|grep aria MariaDB-client-10.1.22-1.x86_64MariaDB-devel-10.1.22-1.x86_64MariaDB-shared-10. ...

  4. Mariadb之日志相关配置

    前面我们聊到了mariadb的事务,以及事务隔离级别,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13198186.html:今天我们来聊一聊mariadb的 ...

  5. mysql命令行工具

    mysql包相关命令行工具 [root@manage ~]# rpm -qa|grep mysql mysql-server-5.1.73-5.el6_7.1.x86_64 mysql-5.1.73- ...

  6. MySQL服务读取参数文件my.cnf的规律研究探索

    在MySQL中,它是按什么顺序或规律去读取my.cnf配置文件的呢?其实只要你花一点功夫,实验测试一下就能弄清楚,下面的实验环境为5.7.21 MySQL Community Server.其它版本如 ...

  7. Mysql for Linux安装配置之——二进制安装

    1.准备及安装1)查看OS版本  # cat /etc/redhat-release  2)创建mysql组及用户  # groupadd mysql  # cat /etc/group|grep m ...

  8. MySQL 5.7 双主复制+keepalived,常规业务一般够用了

    业务需求: 为Zabbix搭建2个数据库,一个库给服务器监控用,一个库给网络监控用. 硬件: 两台服务器,硬盘是1.2 T SSD卡,内存128G 架构: 希望做双主复制+keepalived,架构大 ...

  9. MySQL初始化设置

    1 初始化数据: /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/mysql/data -- ...

随机推荐

  1. thinkphp数据库连接

    https://www.kancloud.cn/manual/thinkphp5/118059 一.配置文件定义 常用的配置方式是在应用目录或者模块目录下面的database.php中添加下面的配置参 ...

  2. python进阶:装饰器

    1.闭包 简单理解:闭包就是多层函数的嵌套,外层函数的返回值是内层函数的引用. def out_func(n): num = 100 def in_fucn(*args,**kwargs): # no ...

  3. python tkinter实时显示曲线

    from tkinter import *from tkinter import ttkimport time#画窗口root = Tk()root.geometry('1000x500')root. ...

  4. Django的下载和基本指令

    1.下载Django pip3  install  django     #不写版本号的话,默认使下载最新版的django pip3  install   django == 2.1.2    #指定 ...

  5. Vuex----核心概念和API

    state 1)vuex管理状态的对象 2)它应该是唯一的 const state = { xxx:initValue } mutations 1)包含多个直接更新state的方法(回调函数)的对象 ...

  6. C语言版本学生信息管理系统

    仍然有一些小bug,后续会发布OC完善版的图书馆管理系统,欢迎批评指正. #include <stdio.h> void menu_choose(); typedef struct { i ...

  7. FastDFS搭建文件管理系统

    参考:https://www.cnblogs.com/chiangchou/p/fastdfs.html 目录: 一:FastDFS介绍 1:简介: FastDFS 是一个开源的高性能分布式文件系统( ...

  8. php怎么获取js的变量值

    使用php做网站的时候,经常需要我们与前端的页面进行交互,有时候我们还需要通过php来获得js变量中的值,这种情况我们可以通过在其中嵌入js代码的方式来获得这个变量. 首先我们创建一个test的php ...

  9. 【CF1257D】Yet Another Monster Killing Problem【贪心】

    题意:给定一些怪物,每天可以选一个勇士进去打怪,每个勇士每天只能打不超过si个怪物,每个勇士只能打能力值≤pi的怪物,问最少多少天打完所有怪物 题解:贪心,每天尽可能多的去打怪,那么存一个对于长度为i ...

  10. 获取系统的documents路径

    获取路径 https://superuser.com/questions/1132288/windows-command-prompt-get-relocated-users-documents-fo ...