最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL故障排查與運維案例詳解

 更新時間:2026年04月13日 09:16:42   作者:SPC的存折  
文章討論了MySQL故障排查與運維案例,涵蓋了連接類、性能類、復(fù)制類、數(shù)據(jù)恢復(fù)類、高可用故障、存儲引擎故障、內(nèi)存問題、安全相關(guān)、備份恢復(fù)、升級問題、配置錯誤等多方面的故障排查和優(yōu)化方案,同時提到了一些關(guān)鍵監(jiān)控指標(biāo)和災(zāi)難恢復(fù)流程,感興趣的朋友跟隨小編一起看看吧

MySQL故障排查與運維案例全集

一、連接類故障

1. 連接超時

現(xiàn)象ERROR 2003 (HY000): Can't connect to MySQL server on 'host' (110 "Connection timed out")
排查流程

# 檢查網(wǎng)絡(luò)連通性
nc -zv host 3306
mtr host
# 檢查防火墻
iptables -L -n | grep 3306
# 驗證連接數(shù)限制
SHOW VARIABLES LIKE 'max_connections';
SHOW STATUS LIKE 'Threads_connected';

2. 認(rèn)證失敗

案例:升級后密碼策略變更導(dǎo)致應(yīng)用連接失敗
解決方案

-- 創(chuàng)建傳統(tǒng)認(rèn)證用戶
CREATE USER 'appuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
-- 臨時降低密碼強度
SET GLOBAL validate_password_policy=LOW;

二、性能類故障

1. CPU 100%問題

診斷步驟

-- 查找高消耗SQL
SELECT * FROM sys.processlist WHERE COMMAND != 'Sleep' ORDER BY TIME DESC;
-- 使用Performance Schema
SELECT * FROM performance_schema.threads WHERE PROCESSLIST_TIME > 60\G
-- 分析慢查詢
SHOW ENGINE INNODB STATUS;

2. 慢查詢優(yōu)化案例

場景:訂單查詢超時
調(diào)優(yōu)方案

-- 添加復(fù)合索引
ALTER TABLE orders ADD INDEX idx_customer_status (customer_id, status);
-- 重寫查詢語句
SELECT /*+ INDEX(idx_customer_status) */ * FROM orders 
WHERE customer_id=123 AND status IN ('shipped','completed');

三、復(fù)制類故障

1. 主從數(shù)據(jù)不一致

檢測工具

# 安裝校驗工具
wget https://downloads.percona.com/downloads/percona-toolkit/3.5.0/binary/tarball/percona-toolkit-3.5.0_x86_64.tar.gz
# 數(shù)據(jù)一致性校驗
pt-table-checksum -h master -u user -p pass --databases mydb

2. 主從延遲

優(yōu)化方案

# my.cnf 優(yōu)化
[mysqld]
slave_parallel_workers = 8
slave_pending_jobs_size_max = 2G
innodb_flush_log_at_trx_commit = 0
sync_binlog = 1000

四、數(shù)據(jù)恢復(fù)類

1. 誤刪除恢復(fù)

步驟

# 停止MySQL服務(wù)
systemctl stop mysqld
# 使用mysqlbinlog恢復(fù)
mysqlbinlog --start-position=107 /var/log/mysql-bin.000001 | mysql -uroot -p
# 使用延時從庫恢復(fù)
STOP SLAVE;
CHANGE MASTER TO MASTER_DELAY = 3600;
START SLAVE;

2. 分區(qū)表數(shù)據(jù)丟失

案例:DROP PARTITION誤操作
解決方案

-- 從備份恢復(fù)單分區(qū)
ALTER TABLE logs IMPORT PARTITION p202301 
    FROM '/backup/202301_partition.ibd';

五、高可用故障

1. MHA切換失敗

診斷流程

# 檢查SSH互信
masterha_check_ssh --conf=/etc/mha/app1.cnf
# 檢查復(fù)制健康
masterha_check_repl --conf=/etc/mha/app1.cnf
# 查看管理日志
tail -f /var/log/masterha/app1/manager.log

2. InnoDB Cluster腦裂

修復(fù)方案

-- 強制重啟集群
dba.rebootClusterFromCompleteOutage('cluster1');
-- 人工重新組集群
SELECT * FROM performance_schema.replication_group_members;

六、存儲引擎故障

1. InnoDB損壞修復(fù)

修復(fù)步驟

# 強制恢復(fù)模式啟動
innodb_force_recovery = 6
# 導(dǎo)出數(shù)據(jù)
mysqldump -uroot -p --all-databases > full_backup.sql
# 重建數(shù)據(jù)庫
mysql_install_db --user=mysql
systemctl start mysqld
mysql -uroot -p < full_backup.sql

七、內(nèi)存問題

1. OOM崩潰

優(yōu)化方案

# my.cnf內(nèi)存優(yōu)化
[mysqld]
innodb_buffer_pool_size=64G
key_buffer_size=0
query_cache_size=0
table_open_cache=20000

八、安全相關(guān)

1. 入侵檢測

處理流程

-- 查找異常賬號
SELECT * FROM mysql.user WHERE authentication_string='' \G
-- 檢查數(shù)據(jù)庫文件權(quán)限
ls -l /var/lib/mysql
-- 審計可疑操作
mysqlbinlog /var/log/mysql-bin.000007 | grep -i 'ALTER\|CREATE\|DROP'

九、備份恢復(fù)

1. 大庫備份優(yōu)化

# Xtrabackup部分備份
xtrabackup --backup --databases="db1 db2" --target-dir=/backup/partial
# mysqldump分片備份
mysqldump -uroot -p db1 | split -b 2G - db1_part_

十、升級問題

1. 5.7升級8.0兼容問題

解決方案

-- 開啟兼容SQL模式
SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
-- 移除廢棄功能
ALTER TABLE mytable ROW_FORMAT=DYNAMIC;

十一、配置錯誤

1. 參數(shù)誤設(shè)置

恢復(fù)方法

# 安全模式啟動,高版本中不可用
mysqld_safe --skip-grant-tables --skip-networking &
# 重置配置
SET GLOBAL max_connections=100;
FLUSH PRIVILEGES;

十二、工具速查表

工具名稱使用場景命令示例
pt-query-digest慢日志分析pt-query-digest slow.log > report.txt
mysqladmin進(jìn)程管理mysqladmin -u root -p processlist
Percona Toolkit運維工具包pt-online-schema-change
Mylogger實時審計mylogger -u root -p pass -h localhost
MySQL ShellInnoDB Cluster管理dba.checkInstanceConfiguration()

十三、關(guān)鍵監(jiān)控指標(biāo)

指標(biāo)報警閾值獲取方式
連接使用率> 85%Threads_connected/max_connections
復(fù)制延遲(秒)> 60SHOW SLAVE STATUS
InnoDB緩沖池命中率< 95%(1 - Innodb_pages_read/Innodb_buffer_pool_read_requests)*100
臨時表磁盤使用> 1GCreated_tmp_disk_tables
鎖等待時間(秒)> 5SHOW ENGINE INNODB STATUS

十四、災(zāi)難恢復(fù)流程

  1. 立即停止服務(wù)systemctl stop mysqld
  2. 保護(hù)現(xiàn)場:拷貝數(shù)據(jù)目錄和日志文件
  3. 評估損壞
    innochecksum -v /var/lib/mysql/ibdata1
    mysqlcheck --all-databases
  4. 選擇恢復(fù)方案
    • 從主備份恢復(fù)
    • 使用Binlog增量恢復(fù)
    • 重建數(shù)據(jù)庫結(jié)構(gòu)
  5. 驗證完整性pt-table-checksum
  6. 灰度恢復(fù)服務(wù)

十五、最佳實踐總結(jié)

  1. 備份策略
    • 每天全備 + Binlog實時同步
    • 備份恢復(fù)演練每月一次
  2. 高可用架構(gòu)

  1. 參數(shù)調(diào)優(yōu)原則
    • buffer_pool_size = 系統(tǒng)內(nèi)存的70-80%
    • max_connections = (最大連接數(shù)+冗余)
    • sync_binlog = 1 (數(shù)據(jù)安全) / 1000 (性能優(yōu)先)
  2. 安全基線
    • 禁用local-infile
    • 刪除test數(shù)據(jù)庫
    • 啟用SSL連接
    • 審計插件開啟

黃金準(zhǔn)則:

  1. 任何參數(shù)修改前進(jìn)行SET GLOBAL測試
  2. 維護(hù)窗口操作必須有回滾計劃
  3. 生產(chǎn)環(huán)境變更遵循"變更三板斧":方案評審->灰度實施->結(jié)果驗證

到此這篇關(guān)于MySQL故障排查與運維案例的文章就介紹到這了,更多相關(guān)mysql故障排查與運維內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

台中县| 聂荣县| 保山市| 普兰县| 南宁市| 绵阳市| 高邮市| 潢川县| 达尔| 通海县| 青州市| 罗山县| 永清县| 侯马市| 河北省| 乌什县| 丹江口市| 庆云县| 龙岩市| 进贤县| 宜君县| 绿春县| 桐梓县| 若尔盖县| 万盛区| 闽清县| 榆林市| 密山市| 东乌珠穆沁旗| 淮阳县| 临洮县| 云霄县| 大城县| 绵阳市| 彭水| 肥东县| 泰宁县| 黄梅县| 弥渡县| 中阳县| 沐川县|