您好,登錄后才能下訂單哦!
1.1 mysql體系結構:
連接池
sql接口
分析器
優化器
查詢緩存
存儲引擎
文件系統
管理工具
1.2 永久定義:
修改配置文件/etc/my.cnf
[mysql]
變量名=值
1.3 臨時定義:
mysql>set (global) 變量=
2.1 訪問數據時,出結果特別慢。分析可能是由哪些原因導致的?
(1)硬件配置低:查看應用設備的使用率CPU 內存 存儲(硬盤)
利用top,sar,uptime,free等;
(2)網絡帶寬: 使用網絡測速軟件 網速;
(3)提供數據庫服務軟件版本低:
2.2 并發及連接控制
mysql> show variables like “max_connections”; #允許的最大并發連接數
mysql> show variables like "connect_timeout"; #建立連接時,三次握手的超時時間
mysql> show variables like "wait_timeout"; #建立連接后,等待斷開連接的超時時間
查看當前已使用的連接數:
mysql>show global status like “max_used_connections”;
查看默認的最大連接數:
mysql> show variables like "max_connections";
理想比率:已使用的連接數/連接并發量<=85%
2.3 緩存參數控制
key_buffer_size #用于myisam引擎的關鍵索引緩存大小
sort_buffer_size #為每個要排序的線程分配此大小的緩存空間
read_buffer_size #為順序讀取表記錄保留的緩存大小
read_rnd_buffer_size #為排序結果讀取表記錄保留的緩存大小
允許重復使用的線程的數量
mysql> show variables like "thread_cache_size";
為所有線程緩存打開表的數量。
table_open_cache=2000
mysql> show variables like "table_open_cache";
查詢緩存相關參數設置?
MySQL> show variables like "query_cache%";
查詢緩存寫鎖有效 存儲引擎(MYISAM)
query_cache_wlock_invalidate | OFF
query_cache_type 0|1|2
0 關閉 不存儲
1 開啟 無條件存儲
2 開啟 指定存儲才存儲
查詢緩存統計信息?
MySQL> show global status like "qcache%";
Qcache_hits 0 #查詢緩存成功的次數(就是在緩存中找到查詢的結果)
Qcache_inserts 0 #總的
Qcache_lowmem_prunes 0 #每次緩存達到一定數值,重新清空的次數,清空的次數越大代表緩存的使用不合理(總是被用完)
2.4 Mysql日志類型
(1)錯誤日志:記錄數據庫服務在啟動和運行過程中產生的信息,默認啟用
/etc/my.cnf中的log-error=/var/log/mysqld.log
(2)binlog日志:默認沒有啟用。
(3)查詢日志:記錄所有執行過的SQL命令,默認沒有啟用
vim /etc/my.cnf
[mysqld]
general-log #默認存儲位置 /var/lib/mysql
默認名稱:主機名.log
(4)慢查詢日志:記錄超過指定時間顯示查詢結果的SQL命令。默認超時時間10s。
slow-query-log #啟用慢查詢日志
slow-query-log-file=文件名 #指定日志名稱
long-query-time=數字 #指定超時時間
默認存儲位置 /var/lib/mysql
默認名稱:主機名-slow.log
[root@ser54 ~]# mysqldumpslow /var/lib/mysql/主機名-slow.log >sql.txt
#查看慢查詢日志,并把查詢超時的查詢語句保存下來
log-queries-not-using-indexes #記錄未使用索引的查詢
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。