本文主要給大家簡單講講管理藍鯨平臺MySQL數(shù)據(jù)庫有哪些規(guī)范,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望管理藍鯨平臺MySQL數(shù)據(jù)庫有哪些規(guī)范這篇文章可以給大家?guī)硪恍嶋H幫助。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),烏達企業(yè)網(wǎng)站建設(shè),烏達品牌網(wǎng)站建設(shè),網(wǎng)站定制,烏達網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,烏達網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
MySQL作為藍鯨平臺存取數(shù)據(jù)的主要數(shù)據(jù)庫,其穩(wěn)定性關(guān)系到藍鯨平臺的使用體驗,而其數(shù)據(jù)安全性則可能關(guān)系到企業(yè)IT資產(chǎn)相關(guān)信息,在安裝和維護藍鯨平臺的過程中應(yīng)引起足夠重視。本文將對如下幾個出現(xiàn)過的問題進行分析和提供處理建議。這幾個問題分別為:升級,配置日志自動清理,binlog手動清理維護,表清空,備份。
藍鯨平臺的MySQL數(shù)據(jù)庫會在安裝平臺時自動安裝,其版本為5.5.24,架構(gòu)為主從復(fù)制(5臺云服務(wù)器情況下),下文分別對提到的幾個問題進行描述。
1.問題分析
藍鯨平臺默認安裝的MySQL版本為5.5.24,一般不符合安全掃描的版本要求,為了避免在使用過程中由于安全問題需要重新升級數(shù)據(jù)庫,建議在完成平臺安裝后及時進行數(shù)據(jù)庫升級,此時數(shù)據(jù)庫還沒存入業(yè)務(wù)數(shù)據(jù),升級無風(fēng)險且升級效率高,基于已經(jīng)在生成環(huán)境驗證過的升級經(jīng)驗,為防止版本跨度過大導(dǎo)致的兼容問題,建議升級到MySQL5.5的最高版本即5.5.62,采用邏輯升級的方法,使用mysqldump將低版本的據(jù)庫全庫導(dǎo)出,再導(dǎo)入到安裝好的新版本。
2. 邏輯升級過程
1、查當前MySQL進程
檢查當前運行的MySQL的進程詳情,主要是查看啟動參數(shù),用于升級后對比
[root@paas-1 install]# ps -ef |grep mysql
root 20407 8526 0 15:10 pts/3 00:00:00 grep --color=auto mysql
root 29942 1 0 Dec17 ? 00:00:00 /bin/sh /data/bkce/service/mysql/bin/mysqld_safe --datadir=/data/bkce/public/mysql/ --pid-file=/data/bkce/public/mysql/mysql.pid
mysql 30344 29942 5 Dec17 ? 13:17:37 /data/bkce/service/mysql/bin/mysqld --basedir=/data/bkce/service/mysql --datadir=/data/bkce/public/mysql/ --plugin-dir=/data/bkce/service/mysql/lib/plugin --user=mysql --log-error=/data/bkce/public/mysql//paas-1.err --pid-file=/data/bkce/public/mysql/mysql.pid --socket=/data/bkce/logs/mysql/mysql.sock --port=3306
2、全庫備份
使用如下命令進行全庫備份,備份路徑可根據(jù)數(shù)據(jù)量,磁盤性能等進行調(diào)整
[root@paas-1 service]# mysqldump -uroot -x -A -E -R >/tmp/alldbback.sql
3、備份安裝目錄,數(shù)據(jù)目錄
停止數(shù)據(jù)庫服務(wù),并對basedir,datadir目錄進行備份,升級前一定要進行備份,避免出現(xiàn)意外進行回退
[root@paas-1 service]# mkdir /data/backup
[root@paas-1 service]# mv mysql/ /data/backup/
[root@paas-1 service]# cd /data/bkce/public/
[root@paas-1 public]# mv mysql /data/backup/mysql_data
4、新版本解壓安裝
使用二進制的包進行解壓安裝,下載5.5.62版本的壓縮包,上傳至安裝目錄進行解壓,創(chuàng)建軟連接為mysql
[root@paas-1 service]# tar zxf /tmp/mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz
[root@paas-1 service]# ln -s mysql-5.5.62-linux-glibc2.12-x86_64/ mysql
5、初始化數(shù)據(jù)庫
對數(shù)據(jù)目錄進行初始化
[root@paas-1 public]# mkdir mysql
[root@paas-1 mysql]# cd /data/bkce/service/mysql
[root@paas-1 mysql]# ./s/mysql_install_db --user=mysql --basedir=/data/bkce/service/mysql --datadir=/data/bkce/public/mysql/
Installing MySQL system tables...
181227 15:39:10 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
181227 15:39:10 [Note] /data/bkce/service/mysql/bin/mysqld (mysqld 5.5.62-log) starting as process 24766 ...
OK
Filling help tables...
181227 15:39:11 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
181227 15:39:11 [Note] /data/bkce/service/mysql/bin/mysqld (mysqld 5.5.62-log) starting as process 24790 ...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/data/bkce/service/mysql/bin/mysqladmin -u root password 'new-password'
/data/bkce/service/mysql/bin/mysqladmin -u root -h 132.108.252.43 password 'new-password'
Alternatively you can run:
/data/bkce/service/mysql/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /data/bkce/service/mysql ; /data/bkce/service/mysql/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /data/bkce/service/mysql/mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
6、修改配置并啟動
因原my.cnf配置文件未設(shè)置pid file,新版啟動時會根據(jù)主機名自動生成,跟原進程下的pid文件不符,需要在配置文件里添加如下配置:
pid-files=
vim /etc/my.cnf
[mysqld]
/data/bkce/public/mysql/mysql.pid
啟動數(shù)據(jù)庫:
/data/bkce/service/mysql/bin/mysqld_safe &
7、導(dǎo)入數(shù)據(jù)
登錄mysql,確認版本已經(jīng)升級至5.5.62,接下來導(dǎo)入備份的數(shù)據(jù)
mysql -uroot </tmp/alldbback.sql
等待其導(dǎo)入完成即可。
8、恢復(fù)mysql.sh文件
在藍鯨平臺中控機上控制mysql服務(wù)的啟停,是通過調(diào)用安裝目錄下的mysql.sh文件實現(xiàn)的,所以需要將該文件恢復(fù)到新版安裝后的目錄下
[root@paas-1 mysql]# cd /data/backup/mysql/bin/
[root@paas-1 bin]# cp mysql.sh /data/bkce/service/mysql/bin/
9、升級確認
通過中控機查看及啟停mysql,檢查是否正常
[root@paas-1 mysql]# cd /data/install/
[root@paas-1 install]# ./bkcec status mysql
[root@paas-1 install]#./bkcec stop mysql
[root@paas-1 install]#./bkcec start mysql
[root@paas-1 install]# ps -ef |grep mysql
檢查藍鯨平臺,查看數(shù)據(jù)庫調(diào)用是否正常。到此,整個升級過程完成。
1.問題分析
我處理過的藍鯨平臺MySQL問題,很多是因為磁盤空間不足導(dǎo)致,而磁盤空間不足多是由于binlog日志過多而未及時清理造成,藍鯨在客戶處使用過程中由于沒有專門的運維團隊,通常很少去關(guān)注后臺云服務(wù)器的情況,所以binlog自動清理的機制強烈建議開啟。
2.測試過程
1、設(shè)置binlog自動清理
參數(shù)expire_logs_days表示超過該參數(shù)值的binlog日志會自動清理,可以根據(jù)云服務(wù)器磁盤空間來確定該值的設(shè)置,前提是保證日志保留時間大于數(shù)據(jù)庫備份頻率,比如備份是7天一次全備,則expire_logs_days的值應(yīng)大于7,空間充足情況下一般建議設(shè)置為7天或者15天。
設(shè)置方法,在參數(shù)文件中配置expire_logs_days=7即可在重啟MySQL后生效。也可以在MySQL命令行直接設(shè)置:
mysql> set global expire_logs_days=7;
在命令行設(shè)置不會立即對日志進行清理,需要達到如下幾種觸發(fā)條件之一:
1、binlog大小超過max_binlog_size
2、手動執(zhí)行flush logs
3、MySQL服務(wù)重新啟動時
所以如果是MySQL使用過程中命令行設(shè)置了該參數(shù),可以使用flush logs切換日志觸發(fā)清理,此時需要注意清理需要占用云服務(wù)器I/O資源,應(yīng)在不影響使用情況下執(zhí)行。
1.問題分析
當磁盤空間由于binlog占用空間不足,MySQL服務(wù)已經(jīng)掛起時,需要手動清理binlog日志。處理過的幾次問題是管理員在清理binlog時刪除了所有的binlog日志,磁盤空間釋放后,重啟MySQL服務(wù)發(fā)現(xiàn)啟動失敗,其原因就是binlog被全部清理后,MySQL服務(wù)啟動需要寫入日志到最新的一個binlog,而其記錄的最后一個binlog找不到,所以會報錯啟動失敗。
1、手動清理的正確方法
手動清理binlog日志時,需要保留最新一個日志,保證數(shù)據(jù)庫重啟后可以檢測到最新的寫入日志,確認最后一個日志,可以根據(jù)日志名稱(序號遞增)或者寫入時間來確定。
2、刪除所有日志后的處理方法
如果已經(jīng)刪除了所有的日志而無法啟動數(shù)據(jù)庫,此時可以按照如下方法處理:
在datadir目錄下找到mysql-bin.index文件,該文件是記錄數(shù)據(jù)庫里的binlog信息,清空該文件內(nèi)容,重啟數(shù)據(jù)庫,此時日志會重置為1號,數(shù)據(jù)庫恢復(fù)正常。
1.問題分析
由于數(shù)據(jù)庫里某些日志表太大,影響查詢和插入表的效率,有時會做清空表的操作,而管理員維護MySQL數(shù)據(jù)庫時習(xí)慣使用圖形工具如Navicat,當表的數(shù)據(jù)比較大時,從圖形工具點擊清空表,系統(tǒng)會卡住,原因是工具里的情況表是delete的操作,數(shù)據(jù)庫執(zhí)行時會每條數(shù)據(jù)進行刪除并記錄redo,undo日志,占用數(shù)據(jù)庫資源較大導(dǎo)致的數(shù)據(jù)庫hang住。
1、表清空的正確方法
如果確認表數(shù)據(jù)是不需要的,請使用truncate的方式情況表,效率非常高且占用資源少,SQL語法如下:
mysql> truncate table_name;
1.問題分析
數(shù)據(jù)庫最重要的就是數(shù)據(jù),數(shù)據(jù)的安全高于一切,而完善的備份是數(shù)據(jù)安全的最后一道防線,藍鯨平臺是一個企業(yè)級的平臺,其存儲的數(shù)據(jù)也是至關(guān)重要的,所以備份策略必須合理制定。MySQL 最常用的備份方式分為邏輯備份mysqldump,物理備份xtrabackup,當數(shù)據(jù)量不大,備份時間在1小時內(nèi)可以完成的,使用mysqldump即可,更大數(shù)據(jù)量則需要考慮使用xtrabackup,下面主要介紹mysqldump。
2.備份通用性命令
mysqldump是個很靈活的工具,有很多參數(shù)可以在備份時使用,不過對于藍鯨平臺的mysql備份,建議使用如下通用的備份命令即可:
mysqldump -uroot -p --all-databases --master-data=2 --flush-logs --single-transaction > /backup/dbfull-date +%F.sql
如果需要壓縮備份文件,可以用如下命令:
mysqldump -uroot -p --all-databases --master-data=2 --flush-logs --single-transaction |gzip > dbfull-date +%F.tar.gz
該命令備份所有的數(shù)據(jù)庫,記錄備份時binlog的位置(用于建立主從關(guān)系的復(fù)制起始點或是恢復(fù)到指定時間點),以事務(wù)的方式備份,不會影響主庫運行。
備份如果是在本地磁盤,還需要定期清理備份文件,比如清理30天前的備份文件,如下清理腳本可以參考:
find /backup -mtime +30 -name "dbfull-*.sql" -exec rm -rf {} \;
隨著藍鯨平臺在企業(yè)級的廣泛使用,其存儲數(shù)據(jù)的MySQL數(shù)據(jù)庫應(yīng)確保數(shù)據(jù)安全和MySQL服務(wù)平穩(wěn)運行,本文所列舉的幾個問題都是常見的導(dǎo)致平臺無法使用的問題,其處理方法也都是驗證過并在生成環(huán)境使用的方式,可以作為處理該類問題的參考。
管理藍鯨平臺MySQL數(shù)據(jù)庫有哪些規(guī)范就先給大家講到這里,對于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。
文章題目:管理藍鯨平臺MySQL數(shù)據(jù)庫有哪些規(guī)范
網(wǎng)站URL:http://aaarwkj.com/article0/jegpio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、域名注冊、網(wǎng)站制作、用戶體驗、定制網(wǎng)站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)