linux下啟動或者關閉MySQL數據庫的多種方式
前言
今天我非常榮幸能夠站在這里,與大家分享一個非常重要的話題:如何啟動和關閉MySQL數據庫的多種方式。MySQL作為一款廣泛使用的開源關系數據庫管理系統(tǒng),已經成為了許多企業(yè)和個人在存儲和管理數據時的首選工具。然而,正確地啟動和關閉MySQL對于確保系統(tǒng)的穩(wěn)定運行、數據的完整性和安全性至關重要。
啟動和關閉MySQL看似簡單,但實際上涉及到許多細節(jié)和注意事項。不同的操作系統(tǒng)、配置和環(huán)境可能需要采用不同的方法來啟動和關閉MySQL服務。因此,了解并掌握多種方法對于數據庫管理員和開發(fā)者來說是至關重要的。
在這篇文章中,我們將深入探討多種啟動和關閉MySQL的方法,并解釋每種方法的適用場景和注意事項。通過這些方法的學習和實踐,我們不僅能夠更好地管理和維護數據庫,還能夠提高工作效率和減少潛在的風險。
1、mysql啟動的幾種方式
mysql不同與oracle變量定義在配置文件bash_profile中。mysql只能通過ps -ef | grep mysql確定參數文件的位置,沒有確定參數文件的參數。所以記錄ps -ef | grep mysql信息尤為重要。
數據庫啟動時會先讀取參數文件my.cnf(因為mysql啟動時默認找參數文件的順序/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf(通過mysql --help | grep my.cnf命令查看),以此來確定一些初始化參數。如果有/etc/my.cnf但沒有內容,數據庫可以起到并且參數值取決于mysql指定的默認值。
mysql啟動會用到兩個程序和一個函數,函數my_print_defaults;程序mysqld_safe、parse_server_arguments。
my_print_defaults讀取my.cnf參數文件,輸出參數傳遞給parse_server_arguments。parse_server_arguments改函數處理my_print_defaults傳遞過來的參數賦值給--basedir、--datadir、--pid-file、--server-startup-timeout。
方式一:mysqld_safe命令(在多實例環(huán)境中,指定對應實例參數文件就可以啟動某個實例)
mysqld_safe是一個shell腳本,默認去調用mysqld服務器程序,進行服務器的監(jiān)聽。
如果mysqld進程宕了,mysqld_safe會自動啟動mysqld,數據庫啟動;如果mysqld_safe宕了,mysqld還存活,數據庫就沒問題;如果mysqld_safe和mysqld都宕了,數據庫也就宕機。
mysqld_safe --help選項:
參數選項 描述 --defaults-file=FILE 指定參數文件
[root@mysql2 bin]# nohup mysqld_safe --defaults-file=/mysql/data/3306/my.cnf & ---mysqld_safe帶動mysqld數據庫后臺進程
方式二:mysqld命令(在多實例環(huán)境中,指定對應實例參數文件就可以啟動某個實例)
mysqld --verbose --help選項:
參數選項 描述 --defaults-file=# 指定參數文件 -u, --user=name 指定操作系統(tǒng)的用戶名,指定為mysql用戶。
[root@mysql2 bin]# nohup mysqld --defaults-file=/mysql/data/3306/my.cnf --user=mysql & ---mysqld數據庫后臺進程,只是顯示了指定的參數,為了方便管理使用mysqld_safe或者指定多個參數
方式三:寫入linux服務啟動(service)
通過將mysql.server腳本添加到系統(tǒng)服務器中使用service mysqld start,mysqld為自定義命名的,所以以命名的為準。
編輯mysql.server腳本,并將mysql.server腳本添加到linux服務
[root@mysql2 bin]# cd /mysql/app/mysql/support-files [root@mysql2 bin]# cp mysql.server mysql.server.bk [root@mysql2 bin]# vi mysql.server ---作用就是為了方便啟動和關閉mysql服務,這個腳本中調用mysqld_safe來啟動mysqld。以下是mysql.server需要修改的內容
修改一:目錄和數據存儲目錄
修改二:相關目錄和數據存儲目錄
修改三:mysqld_safe為啟動mysql的命令,在后面加上--defaults-file指定指定的參數文件。因為mysql啟動時默認找參數文件的順序/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf(通過mysql --help | grep my.cnf命令查看)
[root@mysql2 bin]# cp /mysql/app/mysql/support-files/mysql.server /etc/init.d/mysqld ---將啟動腳本放到系統(tǒng)服務管理中并命名為mysqld [root@mysql2 bin]# chmod 755 /etc/init.d/mysqld [root@mysql2 bin]# chkconfig --add mysqld ---將mysqld加入到服務中 [root@mysql2 bin]# service mysqld start [root@mysql2 bin]# chkconfig mysqld on ---開機啟動mysqld服務 [root@mysql2 bin]# service mysqld status
service mysqld status查詢服務的PID,并且通過ps -ef | grep mysql查看MySQL數據庫的PID是否一致
2、mysql關閉的幾種方式
mysql不同與oracle變量定義在配置文件bash_profile中。mysql只能通過ps -ef | grep mysql確定參數文件的位置,沒有確定參數文件的參數。所以記錄ps -ef | grep mysql信息尤為重要。
方式一:mysqladmin命令(在多實例環(huán)境中,指定對應實例socket文件就可以關閉某個實例)
mysqladmin --help選項:
參數選項 描述 -u, --user=name 用于登錄的用戶名(如果不是當前用戶) -S, --socket=name 指定用于連接的套接字文件的名稱(socket套接字就是ip+端口,包括本地ip:port, 遠程ip:port)。如果系統(tǒng)上有多個實例,通過連接socket可以連接相應的實例,socket可以用戶連接到那個實例 -p, --password[=name] 連接到服務器時使用的密碼
[root@mysql2 bin]# mysqladmin -uroot -p shutdown -S /mysql/data/3306/mysql.sock
方式二:shutdown命令(8.0版本新增。8.0只新增關閉和重啟命令,沒有啟動的命令)
此語句將停止MySQL服務器。它需要SHUTDOWN特權。
SHUTDOWN控件提供具有相同功能的sql級接口。mysqladmin停工命令或mysql_shutdown()C API函數成功SHUTDOWN序列包括檢查特權、驗證參數和向客戶端發(fā)送OK數據包。然后服務器就關閉了。
[root@mysql2 bin]# mysql -uroot -p123456 mysql> shutdown; [root@mysql2 bin]# tail -100f itpuxdb-error.err ---查看錯誤日志,觀察關閉信息
方式三:寫入linux服務關閉(service)
通過將mysql.server腳本添加到系統(tǒng)服務器中,添加過程參考查看上面的方式三:寫入linux服務啟動,使用service mysqld stop,mysqld為自定義命名的,所以以命名的為準。
3、mysql重啟方式(8.0版本新增)
mysql8.0和5.7一樣只能通過ps -ef | grep mysql確定參數文件的位置,沒有確定參數文件的參數。所以記錄ps -ef | grep mysql信息尤為重要。
方式一:restart命令
Mysql在8.0版本中引入restart命令,實現遠程重啟mysqld進程的功能。能夠在不登錄操做系統(tǒng)的狀況下,執(zhí)行重啟操做,對于運管上來講也是一個很棒的功能。mysql執(zhí)行restart命令須要數據庫帳號具有SHUTDOWN權限,而且mysqld必須通過mysqld_safe守護進程下啟動的才能執(zhí)行restart命令。
restart命令的原理是mysqld_safe檢測mysqld退出時的返回值,若是16,則進行重啟。bash shell以下。
[root@mysql2 bin]# mysql -uroot -p123456 mysql> restart; [root@mysql2 bin]# tail -100f itpuxdb-error.err ---查看錯誤日志,觀察重啟信息
注意:只有通過mysqld_safe啟動mysqld這個進程才能使用restart命令進行重啟;如果只有mysqld進程,沒有通過mysqld_safe帶動,則不能使用restart命令,報ERROR 3707 (HY000): Restart server failed (mysqld is not managed by supervisor process).
總結
到此這篇關于linux下啟動或者關閉MySQL數據庫的多種方式的文章就介紹到這了,更多相關linux啟動或關閉MySQL數據庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!