4.56MariaDB密碼重置4.57MariaDB慢查詢日誌

MariaDB密碼重置mysql

MariaDB慢查詢日誌sql

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字段裏。dom

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 ;跟上一個命令同樣,這個指令會將隊列中的查詢語句完整的列出來。
相關文章
相關標籤/搜索