Mariadb密码重置
在有旧密码的情况下重置新密码:
mysqladmin -uroot -p'旧密码' password '新密码'
在忘记密码的情况下:
修改配置文件/etc/my.cnf,加上一段skip-grant
[mysqld]
datadir=/data/mariadb
socket=/tmp/mysql.sock
skip-grant
重启服务:
/etc/init.d/mysqld restart
进入数据库
mysql -uroot
进入mysql库:
use mysql;
查看user表:
desc user; (找到这个字段authentication_string,存放密码的字段,老版本存放在password这个字段)
更改密码:
update user set authentication_string=password("admin@123") where user='root';
退出数据库,改回/etc/my.cnf配置,删除skip-grant
重启服务:/etc/init.d/mysqld restart
测试新密码登陆:
mysql -uroot -padmin@123 登录成功
Mariadb的慢查询日志
查询是否开启慢查询
show variables like 'slow%';
查看慢查询的时间设置为多少秒
show variables like 'long%';
查询慢日志存放的目录
show variables like 'datadir';
设置配置文件:
vim /etc/my.cnf
新增三行
slow_query_log = ON //开启慢日志
slow_query_log_file = /data/mariadb/jinkai.slow.log //日志存放路径
long_query_time = 1 //设定查询时间,例如查询时间超过1秒,定为慢查询
重启服务:/etc/init.d/mysqld restart
测试慢查询:
MariaDB [(none)]> select sleep(2);
MariaDB [(none)]> select sleep(5);
查看慢日志
[root@jinkai etc]# cat /data/mariadb/jinkai.slow.log
/usr/local/mariadb/bin/mysqld, Version: 10.3.24-MariaDB-log (MariaDB Server). started with:
Tcp port: 0 Unix socket: /tmp/mysql.sock
Time Id Command Argument
\# Time: 200915 21:19:16
\# User@Host: root[root] @ localhost []
\# Thread_id: 9 Schema: QC_hit: No
\# Query_time: 2.000877 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
\# Rows_affected: 0 Bytes_sent: 63
SET timestamp=1600175956;
select sleep(2);
\# Time: 200915 21:19:24
\# User@Host: root[root] @ localhost []
\# Thread_id: 9 Schema: QC_hit: No
\# Query_time: 5.000852 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
\# Rows_affected: 0 Bytes_sent: 63
SET timestamp=1600175964;
select sleep(5);