理解MySQL啟動過程及常見啟動故障處理
Mysql啟動配置檔案載入路徑
Mysql啟動的方式
Mysql啟動的內部流程
常見啟動故障及分析過程
Mysql可以讀取到的配置檔案路徑順序
/etc/my.cnf---->/etc/mysql/my.cnf----->/usr/local/mysql/etc/my.cnf---->~/.my.cnf
*後面配置檔案會覆蓋前面配置檔案設定的引數
如果/etc/my.cnf配置檔案定義了innodb_buffer_pool_size=100M 而/etc/mysql/my.cnf配置檔案定義了innodb_buffer_pool_size=200M 則會載入200M的引數
檢視方法:
mysqld --verbose --help |grep my.cnf
--defaults-file引數指定讀取配置檔案引數
Strace跟蹤mysql的啟動過程
strace /usr/local/mysql/bin/mysqld 2>&1 |tee /data/1.log
可以看到直接找了/etc/my.cnf下的配置檔案 只讀
這3個配置檔案也依次找了 但是沒找到
--print-defaults 輸出現在mysqld指定的引數
MySQL啟動方式
標準啟動方式
Service mysqld start
/etc/ini.d/mysqld start
說明mysqld來自
Cp /usr/local/mysql/support-file/mysql.server /etc/ini.d/mysqld
多例項啟動方式
/usr/local/mysql/bin/mysqld_safe --defaults-file=/path/my.cnf &
/usr/local/mysql/bin/mysqld --defaults-file=/path/my.cnf &
/usr/local/mysql/bin/mysqld_multi start 3306
幾種啟動方式關係
Service mysqld start 呼叫 mysqld_safe 呼叫 mysqld
Mysqld_multi既可以直接呼叫mysql_safe 也可以直接呼叫mysqld
示意圖:
mysqld_safe啟動分析
可以讀取的配置部分
作業系統檔案數限制引數配置
Open files 和 max_user_processes引數修改 一個連線佔用一個執行緒
/etc/security/limits.conf
Mysqld_multi 用於管理多例項啟動的一個指令碼
讀取配置檔案中的[mysqld_multi],[mysqldN] N需要是一個整數,建議使用埠號表示,這部分的配置在配置檔案裡面會覆蓋[mysqld]部分中的配置
[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/usr/local/mysql/bin/mysqladmin
user=root
log=/data/mysql/mysqld_muti.log
#(這裡的user、password自己指定,該賬號需要有shutdown許可權)
[mysqld3306]
port=3306
datadir=/data/mysql/mysql3306/data
socket/tmp/mysql3306.sock
server-id=203306
log-bin=/data/mysql/mysql3306/logs/mysql-bin
呼叫方式
mysqld_multi start|stop|reload|report {port}
*mysqld_multi只能識別的配置檔案就是在my.cnf,其他配置檔案不能識別
環境演示:mysql多例項3306 3307 3308
/etc/my.cnf
使用mysqld_muiti關閉例項BUG修復,不能正常關機
my_print_defaults 引數
*發現問題 密碼不能識別,密碼不能傳遞
vim /usr/local/mysql/bin/mysqld_multi
在my_print_defaults 後面新增-s引數
可以正常關閉多例項
*Mysql遇到啟動錯誤的第一時間記得看error.log
常見啟動錯誤:
1、許可權錯誤
故障模擬:
mysqld_multi stop 3306
chown root:root mysql3306/ -R
開始啟動3306例項 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &
這個時候發現並起不來,直接退出了
使用strace命令進行追蹤
strace /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf 2>&1|tee log
再將許可權改回來 很簡單 就是一個排查的思路 記得使用strace
Chown mysql:mysql /data/mysql/mysql3306/ -R
2、引數配置錯誤導致MySQL起不來
檢視error.log都能找到原因
*確保getenforce為disabled狀態
perror檢視程式碼錯誤資訊
相關推薦
理解MySQL啟動過程及常見啟動故障處理
Mysql啟動配置檔案載入路徑 Mysql啟動的方式 Mysql啟動的內部流程 常見啟動故障及分析過程 Mysql可以讀取到的配置檔案路徑順序 /etc/my.cnf---->/etc/mysql/my.cnf----->/usr/local/mysql/et
Hadoop啟動操作過程及常見錯誤
主要啟動步驟 格式化 cd $HADOOP_HOME ./bin/hdfs namenode -format 成功的話,會看到 “successfully formatted”
centos7啟動過程及systemd祥細說明
引導 ica 中斷 use level swa lock 允許 mct 開機啟過程POST—>BOOT SEQUENCE—> BOOTLOADER—>KERNEL + INITRAMFS(INITRD)—>ROOTFS—>/sbin/initP
[svc]linux啟動過程及級別
cve 內核線程 當前 pos 可用 crc 開機啟動流程 中斷機制 rtu Unix目錄結構的來歷 Linux 的啟動流程 Linux 引導過程內幕 嵌入式系統 Boot Loader 技術內幕 1.簡單口述 1.開機BIOS自檢 2.MBR引導 3.grub引導菜單 4
python 05day --linux啟動過程及檔案合併歸檔壓縮vi和vim編輯器
一、linux系統啟動過程 1)核心的引導。 當計算機開啟電源後,首先是BIOS開機自檢,按照BIOS中設定的啟動裝置(通常是硬碟)來啟動。 作業系統接管硬體以後,首先讀入 /boot 目錄下的核心檔案。 2)執行 init。 init 程序是系統所有程序的起點,你可以把它比擬成系統所有程序的老祖宗
你所不知道的SQL Server資料庫啟動過程,以及啟動不起來的各種問題的分析及解決技巧
目前SQL Server資料庫作為微軟一款優秀的RDBMS,其本身啟動的時候是很少出問題的,我們在平時用的時候,很少關注起啟動過程,或者很少了解其底層執行過程,大部分的過程只關注其內部的表、儲存過程、檢視、函式等一系列應用方式,而當有一天它執行的正常的時候突然啟動不起來了,這時候就束手無策了,能做的或許只能是
SpringCLoud元件---Eureka Server詳細啟動過程及圖解
EurekaServer作為註冊中心,記錄著所有應用的資訊和狀態,應用叫什麼名字,在哪個伺服器上, 以及目前是不是正常工作,註冊中心按照服務名分類組織服務清單,同時還需要以心跳檢測的方式去監測清單中的服務是否可用,若不可用需要從服務清單中剔除,以達到排除故障服務的效果。下面演
2015版uboot的啟動過程及網絡卡驅動結構分析
啟動流程和上篇博文介紹的rtems類似 首先是start.s: 在這裡選擇arm的arm7作為例子分析,程式碼:/arch/arm/cpu/armv7/start.s /* * armboot - Startup Code for OMAP3530/ARM Cortex
深入理解mysql-進階知識點,啟動項、系統變數、字符集介紹!
mysql資料庫是當前應用最為的廣泛的資料庫,在實際工作中也經常接觸到。真正用好mysql也不僅僅是會寫sql就行,更重要的是真正理解其內部的工作原理。本文先從巨集觀角度介紹一些mysql相關的知識點,目的是為了讓大家對mysql能有一個大體上的認知,後續再逐一對每個知識點的進行深入解讀。 > 本文主
Linux的啟動過程及init程序
Linux下有三個特殊程序: idle程序(pid=0)idle程序其前身是系統建立的第一個程序,0號程序,也唯一一個沒有通過fork()或者kernel_thread產生的程序,由系統自動建立,執行在核心態。0號程序在建立了init程序後,演變成為idle程序。主處理器上的idle程序是由原始程序(0號程
Mysql索引介紹及常見索引的區別
掃描 varchar mysql查詢 運算 最優 慢慢 對比 非聚集索引 單個 關於MySQL索引的好處,如果正確合理設計並且使用索引的MySQL是一輛蘭博基尼的話,那麽沒有設計和使用索引的MySQL就是一個人力三輪車。對於沒有索引的表,單表查詢可能幾十萬數據就是瓶頸,而通
mysql主從備份及常見問題處理
top 存在 是否 table read 應用 and 常見問題 png 1.mysql主從備份基本原理 mysql支持單向、異步復制,復制過程中一個服務器充當主服務器,而一個或多個其它服務器充當從服務器。mysql復制基於主服務器在二進制日誌中跟蹤所有對數據庫的更
mysql安裝過程及註意事項
無法 輸入 warn bye oot 放置 pass mage sql 1.1. 下載: 我下載的是64位系統的zip包: 下載地址:https://dev.mysql.com/downloads/mysql/ 下載zip的包: 下載後解壓:D:\軟件安裝包\mysql
Mangos Zero服務器搭建簡要過程及常見問題
搭建 個數 -m 復制 -a mod all 端口 正常 網上的搭建教程已經有很多,該文章主要記錄在Win7 64bit上搭建的簡要過程,以及出現的問題。 1.源碼下載 首先是下載 git for windows:G
Windows 上 SQLyog 連線 CentSO7 上 MySql 相關設定及常見問題
一、版本相關 1. CentOS7 # cat /etc/redhat-release CentOS Linux release 7.4.1708 (AltArch) 2. Mysql # mysql -V mysql Ver 14.14 Di
mysql儲存過程及拼接字串的用法
DROP PROCEDURE IF EXISTS insert_historytable;DELIMITER //CREATE PROCEDURE insert_historytable()BEGIN ##定義判斷變數 DECLARE 1_id varchar(50); DECLARE 1_dissolved
MySQL--下載--安裝--及常見問題
1、下載 下載網址https://www.mysql.com/ 2、映象 常見映象有: http://blog.csdn.net/enweitech/article/details/52353114 下載地址:http://m
Android輸入系統(二)IMS的啟動過程和輸入事件的處理
本文首發於 劉望舒的部落格 地址:liuwangshu.cn/framework/i… 關聯絡列 解析WMS系列 深入理解JNI系列 輸入系統系列 前言 在上一篇文章中,我們學習了IMS的誕生(建立),IMS建立後還會進行啟動,這篇文章我們來學習IMS的啟動過程和輸入事件的處理。 1.IMS
mysql安裝過程及注意事項
1、下載MySql 選擇對應的下載檔案。(我電腦是64位,所以這下載的是64位的下載檔案) 2、安裝MySql 開啟下載檔案解壓到指定檔案目錄。(我這裡解壓目錄為F:\Program Files\mysql-5.7.23-winx64)
mysql儲存過程及部分函式
轉載,很詳細,就極其不要臉的轉過來儲存一下。點選檢視原文 儲存過程簡介 SQL語句需要先編譯然後執行,而儲存過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給定引數(如果該儲存過程帶有引數