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);