最近正好有空閑時間進行mysql自動安裝腳本開發,預計先用shell實作一個版本,後續繼續用python改造開發,最終實作python版本的開發。
2019-3-18,完成shell腳本的mysql自動化安裝腳本的開發與調試。資訊如下:
mysql版本為5.6.43,通過shell函數的方式實作資料安裝的2個階段,再加上一個全局階段,共3個階段
1.全局階段
通過if [ $(id -u) != "0" ]判斷目前操作使用者是否為root,如不等0,則提示使用者使用root使用者執行該腳本,實作資料庫部分資訊采集(使用read -p "(資訊):" 變量名稱)采集mysql初始化root密碼,innodb_buffer_pool_size具體資訊(通過擷取伺服器系統記憶體資訊提示操作者設定小于該記憶體值的變量,選擇是否開始安裝
2. 系統初始化階段
在shell函數中針對伺服器系統selinux和ulimit的openfiles進行系統優化。
删除mysql使用者及組,find删除mysql相關檔案夾,rpm 解除安裝等
3.資料庫安裝部分
1)針對/etc/my.cnf舊檔案進行備份,使用eof定制标準化的my.cnf檔案輸入并替換新檔案,以伺服器ip用正則擷取,後三位組合成該伺服器的mysql server id,同時調用之前全局變量中的密碼以及innodb_buffer_pool_size變量資訊使用。
2)建立mysql使用者群組,建立mysql 安裝目錄并授權mysql使用者組權限。
3)mysql_install_db進行初始化安裝。并拷貝mysql.server到/etc/init.d/mysqld 使用chkconfig注冊服務啟動。
4) export重新整理mysql指令到環境變量,初始化mysql使用者,删除除了root和localhost以外的無效使用者并重新整理權限,同時授權dba使用者權限。