數據庫之mysql優化

1.引擎:

1.1查看引擎:

mysql> show engines;
mysql> SHOW VARIABLES LIKE '%storage_engine%';
mysql> show create table t1;   ---查看建表信息

1.2?臨時指定引擎:

mysql> create table innodb1(id int)engine=innodb;

1.3修改默認引擎:

/etc/my.cnf
[mysqld]
default-storage-engine=INNODB  ----引擎
修改已經存在的表的引擎:
mysql> alter table t2 engine=myisam;  

mysql常用命令:
? ? mysql> show warnings ? ?查看最近一個sql語句產生的錯誤警告,看其他的需要看.err日志
? ? mysql> show processlist 顯示系統中正在運行的所有進程。
? ? mysql> show errors ? 查看最近一個sql語句產生的錯誤信息

2.字符集設置

2.1?臨時設置字符集

  mysql> create database db1 CHARACTER SET = utf8;mysql> create table t1(id int(10)) CHARACTER SET = utf8;   

查看當前使用的字符集
mysql> SHOW VARIABLES LIKE 'character_set_%';

2.2永久修改字符集設置:(5.7/ 5.5版本)

[mysqld]
character-set-server=utf8mb4 #設置MySQL服務器的默認字符集為utf8mb4
collation-server=utf8mb4_unicode_ci #設置服務器的默認排序規則
[client]
default-character-set = utf8mb4 #所有客戶端工具的默認字符集設置
[mysql]
default-character-set=utf8mb4 #專門針對mysql命令行客戶端的字符集設置

3.慢查:

  查看是否設置成功:mysql> show variables like '%query%';

當連接數的數值過小會經常出現ERROR 1040: Too many connections錯誤。
這是是查詢數據庫當前設置的最大連接數
mysql> show variables like '%max_connections%';

強制限制mysql資源設置:
# vim /etc/my.cnf
max_connections = 1024  并發連接數,根據實際情況設置連接數。
connect_timeout= 5      單位秒 ----超時時間,默認30秒
wait_timeout=10         終止空閑時間超過10秒的鏈接,避免長連接
max_connect_errors=10   10次連接失敗就鎖定,使用flush hosts 解鎖,或mysqladmin flush-hosts -uroot -p'密碼'解鎖

優化方案
1.開啟慢查詢 ?---分析sql語句,找到影響效率的 SQL?
2.創建索引 ? --提升數據的檢索效率

4.innodb引擎:

innodb-buffer-pool-size ? //緩存 InnoDB 數據和索引的內存緩沖區的大小
innodb-buffer-pool-size=# ? ----值 ? ??
?這個值設得越高,訪問表中數據需要得磁盤 I/O 越少。在一個專用的數據庫服務器上,你可以設置這個參數達機器物理內存大小的 80%。

# vim /etc/my.cnf
innodb-buffer-pool-size=2G

5.查看mysql基本狀態

[root@mysql-master ~]# mysqladmin status -uroot -p'Liuliu@123!'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Uptime: 23963  Threads: 12  Questions: 1365  Slow queries: 0  Opens: 117  Flush tables: 1  Open tables: 110  Queries per second avg: 0.056uptime          啟動時間
Threads         線程數量,(打開的會話)
Questions       所有查詢的數量
Slow queries    慢查詢是否打開
Opens           服務器已經打開的數據庫表的數量
flush tables    執行清空表的緩存次數
Open_tables     通過命令打開的表的數量
Queries per second avg:select語句平均查詢時間log_queries_not_using_indexes = 1  # 記錄未使用索引的查詢
sync_binlog=1 #控制 Binlog 刷盤頻率數據安全:設為 1(每次提交同步)性能優先:設為 0(由系統決定
mysqldumpslow -s t /var/log/mysql/slow.log  # 慢查詢日志分析工具

6.mysql監控項

監控項 ? ? ? ?含義?

磁盤空間 ? ? ? ?實例的空間占用歷史趨勢,單位GB

連接數 ? ? ? ? ?當前總連接數

CPU使用率 ? ? ? mysql實例CPU使用率(占操作系統總數)

數據庫的連接數
mysql的主從同步狀態
主從延遲時間
進程、端口

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902735.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902735.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902735.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Yii2】Yii2框架的一次BUG排查

因為項目需要,最近學習了使用Yii2框架的使用。但畢竟剛上手,好多地方都不清楚。所以就有了這個博客。 1、需求 有這么一個需求: 后臺需要訪問用戶的一個界面。為了界面不出問題,需要傳遞一個真實存在的Token。但對這個Token沒有…

卡爾曼濾波解釋及示例

卡爾曼濾波的本質是用數學方法平衡預測與觀測的可信度 ,通過不斷迭代逼近真實狀態。其高效性和魯棒性,通常在導航定位中,需要融合GPS、加速度計、陀螺儀、激光雷達或攝像頭數據,來提高位置精度。簡單講,卡爾曼濾波就是…

Python 學習路線與筆記跳轉(持續更新筆記鏈接)

這里寫目錄標題 Python 學習路線與筆記Python 簡介學習路線第一階段:Python 基礎第二階段:Python 進階第三階段:實用庫與框架第四階段:DevOps 與 Python第五階段:最佳實踐與高級技巧 學習資源官方資源在線學習平臺書籍…

決策衛生問題:考公考編考研能補救高考選取職業的錯誤嗎

對于決策者來說,“認識你自己”是一個永恒的主題;警惕認知中的缺陷,比什么都重要。在判斷與決策問題上,管理者和專業人士往往都非常自信。人類遠遠不如我們想象的那么理性,人類的判斷也遠遠不如我們想象的那么完美。在…

React19源碼閱讀之commitRoot

commitRoot入口 在finishConcurrentRender函數,commitRootWhenReady函數,commitRoot函數。 commitRoot流程圖 commitRoot函數 commitRoot 函數是 React 渲染流程中用于提交根節點的關鍵函數。它的主要作用是設置相關的優先級和狀態,然后調…

利用Python爬蟲實現百度圖片搜索的PNG圖片下載

在圖像識別、訓練數據集構建等場景中,我們經常需要從互聯網上批量下載圖片素材。百度圖片是中文搜索中最常用的來源之一。本文將介紹如何使用Python構建一個穩定、可擴展的百度圖片爬蟲,專門用于下載并保存高清PNG格式圖片。 一、項目目標 本項目的目標…

Axure復選框組件的深度定制:實現自定義大小、顏色與全選功能

在產品設計中,復選框作為用戶與界面交互的重要元素,其靈活性直接影響到用戶體驗。本文將介紹如何利用Axure RP工具,通過高級技巧實現復選框組件的自定義大小、顏色調整,以及全選功能的集成,為產品原型設計增添更多可能…

深度理解spring——BeanFactory的實現

BeanFactory Spring之BeanFactory什么是BeanFactoryApplicationContext相對BeanFactory實現的功能性擴展1. MessageSource2. ResourcePatternResolver3. ApplicationEventPublisher4. EnvironmentCapable通用ApplicationContext實踐實現BeanFactoryBeanFactory后處理器排序讓誰…

跑MPS產生委外采購申請(成品)

問題:跑MPS產生委外采購申請(成品),更改BOM和跑MRP,但物料需求清單中無新增物料復合膜的需求。截圖如下: 解決方法:更改委外采購申請的批準日期為BOM的生效日和重新展開bom。 重新展開后&#x…

“在中國,為中國” 英飛凌汽車業務正式發布中國本土化戰略

3月28日,以“夯實電動化,推進智能化,實現高質量發展”為主題的2025中國電動汽車百人會論壇在北京舉辦。眾多中外機構與行業上下游嘉賓就全球及中國汽車電動化的發展現狀、面臨的挑戰與機遇,以及在技術創新、市場布局、供應鏈協同等…

優雅實現網頁彈窗提示功能:JavaScript與CSS完美結合

在現代Web開發中,彈窗提示是提升用戶體驗的重要元素之一。本文將深入探討如何實現一個優雅、可復用的彈窗提示系統,避免常見問題如重復觸發、樣式混亂等。 核心代碼解析 // 控制彈窗是否可以顯示的標志 let alertStatus true;// 顯示提示信息 functio…

YOLOv11改進-雙Backbone架構:利用雙backbone提高yolo11目標檢測的精度

一、引言:為什么我們需要雙Backbone? 在目標檢測任務中,YOLO系列模型因其高效的端到端檢測能力而備受青睞。然而,傳統YOLO模型大多采用單一Backbone結構,即利用一個卷積神經網絡(CNN)作為特征提…

用 PyQt5 和 asyncio 打造接口并發測試 GUI 工具

接口并發測試是測試工程師日常工作中的重要一環,而一個直觀的 GUI 工具能有效提升工作效率和體驗。本篇文章將帶你用 PyQt5 和 asyncio 從零實現一個美觀且功能實用的接口并發測試工具。 我們將實現以下功能: 請求方法選擇器 添加了一個下拉框 QComboBo…

理解npm的工作原理:優化你的項目依賴管理流程

目錄 什么是npm npm核心功能 npm 常用指令及其作用 執行npm i 發生了什么? 1. 解析命令與參數 2. 檢查依賴文件 3. 依賴版本解析與樹構建 4. 緩存檢查與包下載 5. 解壓包到 node_modules 6. 更新 package-lock.json 7. 處理特殊依賴類型 8. 執行生命周期腳本 9. …

React Native 安卓端 android Image 播放gif webp 動態圖

React Native 安卓端 android Image 播放gif webp 動態圖 RN項目是0.78.2 React是19.0 基本介紹 Image 是 React Native 中用于顯示各種類型圖片的核心組件,支持顯示網絡圖片、靜態資源、本地圖片以及 base64 編碼的圖片。在 Android 端,Image 組件還可…

實時數字人——DH_LIVE

前兩天親手搭建了實時對話數字人VideoChat,今天來搭建下DH_LIVE。 DH_LIVE一個實時數字人解決方案,從輸入文字到數字人對口型說話用時2-3秒。 今天就來實際操作下dh_live的搭建過程。 首先貼上git地址:https://github.com/kleinlee/DH_liv…

AOSP CachedAppOptimizer 凍結方案

背景 Android 一直面臨一個核心難題:如何優化進程對有限系統資源(如 CPU、電量)的使用,同時保證用戶體驗。 當進程進入后臺后,它們雖不再貢獻用戶體驗,卻仍可能消耗資源。傳統的殺后臺方案雖然節省資源&a…

實體店的小程序轉型之路:擁抱新零售的密碼-中小企實戰運營和營銷工作室博客

實體店的小程序轉型之路:擁抱新零售的密碼-中小企實戰運營和營銷工作室博客 在當今數字化浪潮的沖擊下,實體店面臨著前所未有的挑戰,但小程序的出現為實體店轉型新零售帶來了新的曙光。先來看一組驚人的數據,據相關統計&#xff…

Java求職面試:從Spring Boot到微服務的全面考核

Java求職面試實錄:從Spring Boot到微服務的全面考核 第一輪:基礎技術的考察 場景: 趙大寶走進了一家互聯網大廠的面試間,面試官嚴肅地看著他。 面試官: 趙大寶,你好。我們先從簡單的開始。請你解釋一下J…

記錄一個坑關于STM32 ARM Compiler Version

在用 Keil 進行 STM32 開發的時候,一開始下載,下載的 ARM 編譯器是 Version6,他就不兼容老的代碼,就很抽象。 所以必須要更換編譯器。 可以去官網下載編譯器 Downloads - Arm Developer ,也可以自己找資源哈&#xff…