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

4.56MariaDB密码重置4.57MariaDB慢查询日志

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

MariaDB密码重置

MariaDB慢查询日志

MariaDB密码重置

登录MariaDB

  • 正常情况使用密码登录MariaDB,-p后面是密码
mysql -uroot -ppasscode

重置root密码

  • 如果忘记root密码
    • 编辑/etc/my.cnf,增加:skip-grant,重启服务
    	[root@localhost ~]# vi /etc/my.cnf
    
    	[mysqld]
    	datadir=/data/mysql
    	socket=/tmp/mysql.sock
    	skip-grant
    
    	[root@localhost ~]# /etc/init.d/mysqld restart
    
  • 登录MariaDB
mysql -uroot
  • 执行use mysql 切换到mysql库
  • desc user 查看user表的所有字段
  • update user set authentication_string=password("mima.abc") where user='root'; 命令来更改root密码。
  • 退出MariaDB,删除/etc/my.cnf里面的skip-grant, 重启服务
  • 用新密码登录即可

补充

  • 使用root用户登录到MariaDB,use mysql切换库,然后查看用户有哪些
MariaDB [mysql]> select user,host from user ;
+------+-----------------------+
| user | host                  |
+------+-----------------------+
| bbs  | 127.0.0.1             |
| blog | 127.0.0.1             |
| root | 127.0.0.1             |
| root | ::1                   |
|      | localhost             |
| root | localhost             |
|      | localhost.localdomain |
| root | localhost.localdomain |
+------+-----------------------+
8 rows in set (0.006 sec)
  • 更改普通用户密码
MariaDB [mysql]> update user set authentication_string=password("mima.123") where user='blog';
Query OK, 1 row affected (0.005 sec)
Rows matched: 1  Changed: 1  Warnings: 0

就可以了。

常识

mysql在5.7.36版本之后把密码字段存到了authentication_string字段里,在之前版本存在password字段里。

MariaDB慢查询日志

MariaDB慢日志

  • 为什么配置慢日志?配置慢日志是为了帮我们分析MariaDB的瓶颈点(业务的瓶颈点)。一个动态的网站会有数据库的写入读取操作,如果有条执行语句(脚本)特别慢,最终反映到用户访问网站特别慢,结果去查,发现是数据库读取操作慢,优化数据库查询时间,打开就快。整个过程怎么知道是数据库查询慢,可以通过查询慢日志。

配置慢日志

  • 进入MariaDB
mysql -uroot -ppasscode
  • 执行查询的命令,确认slow日志的状态
MariaDB [(none)]> show variables like 'slow%';
+---------------------+--------------------+
| Variable_name       | Value              |
+---------------------+--------------------+
| slow_launch_time    | 2                  |
| slow_query_log      | OFF                |这里表示slow日志没有开启
| slow_query_log_file | localhost-slow.log |这里表示slow日志文件名称
+---------------------+--------------------+
3 rows in set (0.033 sec)
MariaDB [(none)]> show variables like 'datadir';
+---------------+--------------+
| Variable_name | Value        |
+---------------+--------------+
| datadir       | /data/mysql/ |     这里是slow日志存放的路径
+---------------+--------------+
1 row in set (0.007 sec)
MariaDB [(none)]> show variables like 'long%';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |          这里定义的是超过响应时间超过10秒会记录日志
+-----------------+-----------+
1 row in set (0.004 sec)

  • 退出MariaDB,打开/etc/my.conf 配置文件,增加以下内容
	slow_query_log = ON											#打开slow日志
	slow_query_log_file = /data/mysql/bbs-slow.log				#定义slow日志名字
	long_query_time = 2											#响应时间超过2秒就记录。
  • 重启MySQL服务。
[root@localhost ~]# /etc/init.d/mysqld restart
  • 使用select语句模拟慢查询。
select sleep(5);
  • 查询慢日志记录情况
 cat /data/mysql/bbs-slow.log 
/usr/local/mysql/bin/mysqld, Version: 10.3.12-MariaDB-log (MariaDB Server). started with:
Tcp port: 0  Unix socket: /tmp/mysql.sock
Time		    Id Command	Argument
# Time: 190225  4:32:49
# User@Host: root[root] @ localhost []
# Thread_id: 9  Schema:   QC_hit: No
# Query_time: 5.007798  Lock_time: 0.000000  Rows_sent: 1  Rows_examined: 0
# Rows_affected: 0  Bytes_sent: 63
SET timestamp=1551087169;
select sleep(5);

补充关于MySQL的一个命令

  • show processlist ; 用于查看数据库中的查询队列,相当于查看系统的进程,可以比较好的了解数据库是否处于忙碌状态
  • show full processlist ;跟上一个命令一样,这个指令会将队列中的查询语句完整的列出来。

转载于:https://my.oschina.net/u/4080783/blog/3017132

相关文章:

  • 第一次作业(2)
  • 基于遗传算法的优化问题求解
  • LSMTree - SStable 初体验
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • 242. Valid Anagram(C++)
  • 冒泡排序及回调函数的使用
  • HTML5基础(四)
  • 决战燕京城-10 前往天寿山
  • ubuntu设置源
  • 据Progress调查:2018年,70%的客户在使用NoSQL
  • PopupWindow
  • mysqldump的实现原理
  • containerd正式从CNCF毕业!
  • java动态代理(JDK和cglib)
  • 巧用年线抓长线牛股的四种经典技巧
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • CODING 缺陷管理功能正式开始公测
  • github从入门到放弃(1)
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • mysql_config not found
  • 码农张的Bug人生 - 见面之礼
  • 如何用vue打造一个移动端音乐播放器
  • ​学习一下,什么是预包装食品?​
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (12)Hive调优——count distinct去重优化
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (三)Honghu Cloud云架构一定时调度平台
  • (三)mysql_MYSQL(三)
  • (推荐)叮当——中文语音对话机器人
  • (转)linux 命令大全
  • (转)视频码率,帧率和分辨率的联系与区别
  • (轉)JSON.stringify 语法实例讲解
  • .Net IOC框架入门之一 Unity
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 中创建支持集合初始化器的类型
  • .Net8 Blazor 尝鲜
  • :O)修改linux硬件时间
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @ModelAttribute注解使用
  • @RestController注解的使用
  • [ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2019-6116
  • [2016.7 test.5] T1
  • [20171101]rman to destination.txt
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [flask] flask的基本介绍、flask快速搭建项目并运行
  • [INSTALL_FAILED_TEST_ONLY],Android开发出现应用未安装
  • [leetcode] Balanced Binary Tree
  • [LeetCode周赛复盘] 第 310 场周赛20220911
  • [LeetCode周赛复盘] 第 312 场周赛20220925
  • [Linux] 进程间通信基础
  • [Linux] 用LNMP网站框架搭建论坛