Can't determine basedir from my_print_defaults mysqld
我的环境是: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的更多相关文章
- 解析mysql慢日志
mysql慢日志太多,需要分析下具体有哪些慢日志 mysql可以直接记录所有慢日志,现在的问题是将日志文件sql进行去重 想了老半天该怎样将sql的查询字段去掉进行排序,没有get到重点.后来发现my ...
- CentOS编译安装lamp
LAMP环境搭建(编译安装CentOS+httpd2.2+mysql5.5+php5.4) 首先准备以下压缩包 <ignore_js_op> (1)编译安装apache 1.配置防火墙,开 ...
- 卸载Mariadb-报错
1. rpm -qa|grep aria MariaDB-client-10.1.22-1.x86_64MariaDB-devel-10.1.22-1.x86_64MariaDB-shared-10. ...
- Mariadb之日志相关配置
前面我们聊到了mariadb的事务,以及事务隔离级别,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13198186.html:今天我们来聊一聊mariadb的 ...
- mysql命令行工具
mysql包相关命令行工具 [root@manage ~]# rpm -qa|grep mysql mysql-server-5.1.73-5.el6_7.1.x86_64 mysql-5.1.73- ...
- MySQL服务读取参数文件my.cnf的规律研究探索
在MySQL中,它是按什么顺序或规律去读取my.cnf配置文件的呢?其实只要你花一点功夫,实验测试一下就能弄清楚,下面的实验环境为5.7.21 MySQL Community Server.其它版本如 ...
- Mysql for Linux安装配置之——二进制安装
1.准备及安装1)查看OS版本 # cat /etc/redhat-release 2)创建mysql组及用户 # groupadd mysql # cat /etc/group|grep m ...
- MySQL 5.7 双主复制+keepalived,常规业务一般够用了
业务需求: 为Zabbix搭建2个数据库,一个库给服务器监控用,一个库给网络监控用. 硬件: 两台服务器,硬盘是1.2 T SSD卡,内存128G 架构: 希望做双主复制+keepalived,架构大 ...
- MySQL初始化设置
1 初始化数据: /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/mysql/data -- ...
随机推荐
- mysql的mod函数
取余是用函数mod(numer1,number2),其返回的值为其余数值 如:mod(id,2) = 1 返回id号是奇数的id
- [POI2008]BLO(Tarjan)
[POI2008]BLO Description Byteotia城市有\(n\)个 towns \(m\)条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所 ...
- Vue.js 技术揭秘学习 (2) Vue 实例挂载的实现
Vue 中我们是通过 $mount 实例方法去挂载 vm 的 $mount 方法实际上会去调用 mountComponent 方法,mountComponent 核心就是先实例化一个渲染Watcher ...
- python 的三元运算符
一.三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 els ...
- LeetCode--044--通配符匹配(java)*
给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配. '?' 可以匹配任何单个字符. '*' 可以匹配任意字符串(包括空字符串). 两个字符串完全匹配才算 ...
- Python3解leetcode Path Sum III
问题描述: You are given a binary tree in which each node contains an integer value. Find the number of p ...
- 第四章 QML语法
4.1 语法基础 import QtQuick 2.6 import QtQuick.Window 2.2 Rectangle { width: 400 height: 400 color: &quo ...
- CKeditor粘贴图片在IE下自动上传的研究
我司需要做一个需求,就是使用富文本编辑器时,不要以上传附件的形式上传图片,而是以复制粘贴的形式上传图片. 在网上找了一下,有一个插件支持这个功能. WordPaster 安装方式如下: 直接使用Wor ...
- 2019 上海网络赛 J stone name (01背包)
题目:https://nanti.jisuanke.com/t/41420 题意:给你一个集合,然后让你拆成两个集合 x,y 求满足 x>y && x-(x集合中最小 ...
- 简单Spring整合JdbcTemplate
实体类: public class User implements Serializable{ private Integer id; private String username; private ...