mysql啟動時執行過程 mysql啟動過程

2021-10-18 11:18:03 字數 1121 閱讀 2060

明白/etc/init.d/mysql從**來,和mysql.server什麼關係?

/etc/init.d/mysql和mysqld_safe之間的關係

mysqld_safe怎麼把mysql啟動起來的

mysql就是mysql.server拷貝到這裡來的。

mysql啟動,呼叫mysqld_safe

mysqld_safe呼叫mysqld將mysql啟動起來。

擴充套件知識:mysqld_safe是mysqld的乙個看門狗程序

ps -axu | grep mysql找到mysql的pid

kill -9 pid

ps -axu | grep mysql發現又生成了乙個mysql的程序。可以參考mysqld_safe的這一特點,自動啟動那些掛掉的應用。

mysql啟動過程:mysql.server呼叫mysqld_safe,mysqld_safe呼叫mysqld程序。一般mysql啟動出現故障,我們需要去error.log檢視error即可。但是有的時候mysql啟動報錯,但是確沒有寫進日誌,那麼怎麼辦呢?

首先vim /etc/init.d/mysql,加入set -x。

/etc/init.d/mysql start >> start.log 2>&1。可檢視mysql啟動shell--start.log。

啟用my.cnf引數malloc-lib=/usr/local/mysql/lib/mysql/libjemalloc.so,發現mysql起不來了。而且error.log日誌也沒有報錯資訊。心慌了,怎麼辦。

vim /etc/init.d/mysql中指令碼, $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 & 把下劃線部分去掉,讓啟動日誌重定向到終端。這時候再啟動就會有報錯資訊了,starting mysql..150514 06:08:59 mysqld_safe --malloc-lib '/usr/local/mysql/lib/mysql/libjemalloc.so' can not be read and will not be used

那根據報錯資訊,修改my.cnf檔案,mysql就可以正常啟動了。

專案啟動時執行特定方法

commandlinerunner import org.springframework.boot.commandlinerunner import org.springframework.stereotype.component component public class mycommandli...

AX AX2012 啟動時執行命令

先來講講在開啟ax客戶端時,自動執行一些命令。客戶端程式ax32.exe在啟動時按先後順序呼叫以下方法 the sysstartupcmd class is instantiated here.super sysstartupcmd info.startup the sysstartupcmd cl...

SpringBoot啟動時執行特定的任務

springboot啟動時,執行任務commandlinerunner 在開發過程中,可能需要實現專案啟動之後執行功能,springboot提供的一種方案 就是用乙個bean或者model實現commandlinerunner介面,將實現功能的 放在run 方法中.componentscan cn....