亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux下Mysql定時任務(wù)備份數(shù)據(jù)的實現(xiàn)方法

 更新時間:2018年11月15日 09:18:46   作者:二師兄  
當(dāng)安裝完成操作系統(tǒng)之后,默認便會啟動此任務(wù)調(diào)度命令。下面這篇文章主要給大家介紹了關(guān)于在Linux下Mysql定時任務(wù)備份數(shù)據(jù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言

備份是容災(zāi)的基礎(chǔ),是指為防止系統(tǒng)出現(xiàn)操作失誤或系統(tǒng)故障導(dǎo)致數(shù)據(jù)丟失,而將全部或部分數(shù)據(jù)集合從應(yīng)用主機的硬盤或陣列復(fù)制到其它的存儲介質(zhì)的過程。而對于一些網(wǎng)站、系統(tǒng)來說,數(shù)據(jù)庫就是一切,所以做好數(shù)據(jù)庫的備份是至關(guān)重要的!

備份是什么?

本實例將創(chuàng)建目錄放置于/mnt目錄下,可根據(jù)具體情況放置于其他目錄:

cd /mnt
mkdir dbback
pwd
/mnt/dbback

創(chuàng)建shell腳本

腳本名稱可根據(jù)自己規(guī)范進行自定義:

vim bcmysql.sh

進入編輯器,輸入以下內(nèi)容:

#!/bin/bash
mysqldump -uusername -ppassword demo > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql

如果需要本分文件進行壓縮,可輸入下面命令:

#!/bin/bash
mysqldump -uusername -ppassword demo | gzip > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql.gz

在具體操作中,需要將username,password和demo分別替換成對應(yīng)的數(shù)據(jù)庫用戶名、密碼和數(shù)據(jù)庫名。

添加可執(zhí)行權(quán)限

chmod u+x bcmysql.sh

添加完執(zhí)行權(quán)限之后,執(zhí)行此腳本,可能會出現(xiàn)如下異常:

mysqldump: [Warning] Using a password on the command line interface can be insecure.

這個問題應(yīng)該是在MySQL5.6+版本的時候就有出現(xiàn),可能是為了確保數(shù)據(jù)庫的安全性采用的保護機制。在本實例中使用的mysql版本為5.7.22,雖然有警告信息,但可以成功備份數(shù)據(jù)。

修改mysql配置文件

針對上面的問題,某些版本可能無法成功備份,另外也不建議將數(shù)據(jù)庫密碼配置在腳本中,則可直接修改mysql的配置文件。一般情況下,mysql的配置文件在/etc/my.cnf。

vim /etc/my.cnf

在此文件內(nèi)添加mysqldump的配置如下:

[mysqldump]
user=your_backup_user_name
password=your_backup_password

替換掉對應(yīng)的用戶名和密碼,并修改bcmysql.sh腳本中的命令,取消用戶名和密碼參數(shù),無需重啟mysql,直接執(zhí)行腳本即可看到備份結(jié)果。

demo_20181114_193425.sql

問題一

當(dāng)使用vim查看導(dǎo)出的sql文件內(nèi)容時,會發(fā)現(xiàn)中文有亂碼。此問題有兩種情況引起,第一種就是數(shù)據(jù)庫本身字符集為latain1,則此時需要指定字符集,在執(zhí)行的參數(shù)中添加如下參數(shù):

--default-character-set=gbk

當(dāng)然如果是utf8則將gbk修改為utf8。查看數(shù)據(jù)庫字符集的命令如下:

show variables like '%char%'; 
-- 查詢結(jié)果
character_set_client utf8
character_set_connection utf8
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/mysql/share/charsets/

如果將字符集正確修改,依然有亂碼,則可嘗試添加如下參數(shù):

--hex-blob

仔細分析一下表結(jié)構(gòu),可能表結(jié)構(gòu)中有blob類型,這個參數(shù)的含義是用16進制的方式導(dǎo)出BINARY, VARBINARY, BLOB類型的數(shù)據(jù)。修改后的命令如下:

mysqldump --default-character-set=utf8 --hex-blob demo > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql

添加計劃任務(wù)

檢測或安裝crontab

執(zhí)行crontab命令如果報command not found,就表明沒有安裝。

# crontab
-bash: crontab: command not found

如果未安裝,可以通過yum命令進行安裝:

# yum -y install vixie-cron

雖然crontab不支持-h或-help命令,但可以通過此命令檢查是否安裝成功:

[root@iZ2zeck5vZ ~]# crontab -help
crontab:無效選項 -- h
crontab: usage error: unrecognized option
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user
-e edit user's crontab
-l list user's crontab
-r delete user's crontab
-i prompt before deleting
-n <host> set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x <mask> enable debugging
Default operation is replace, per 1003.2

添加計劃任務(wù)

通過上面的命令參數(shù),我們可以看到修改crontab的命令,執(zhí)行命令:

crontab -e

進入crontab的編輯操作頁面,可以像vi、vim一樣編輯其中的內(nèi)容。在其中添加如下命令:

*/1 * * * * /mnt/dbback/bcmysql.sh

此行命令的作用是每隔一分鐘執(zhí)行一次bcmysql.sh。等待一分鐘之后通過ls命令查看是否生成備份文件。發(fā)現(xiàn)已經(jīng)可以正常生成文件。當(dāng)然,我們并不需要每分鐘就備份一次,因此把命令改為如下:

0 1 * * * /mnt/dbback/bcmysql.sh

每天凌晨1點執(zhí)行一次備份操作。

日志查看

如果執(zhí)行失敗了,則可查看任務(wù)日志:

# tail -f /var/log/cron

小結(jié)

至此,一個簡單版本的Linux下實現(xiàn)Mysql定時任務(wù)備份數(shù)據(jù)功能已經(jīng)實現(xiàn)。當(dāng)然也可以在此版本基礎(chǔ)上進行目錄控制,歷史記錄刪除等擴展。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Windows 10 太難用如何定制你的 Ubuntu方法詳解

    Windows 10 太難用如何定制你的 Ubuntu方法詳解

    這篇文章主要介紹了Windows 10 太難用,如何定制你的 Ubuntu,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Linux分區(qū)格式化的命令

    Linux分區(qū)格式化的命令

    當(dāng)硬盤分區(qū)完成后,需要對分區(qū)進行格式化。 下面小編給大家?guī)砹薒inux分區(qū)格式化的命令,感興趣的朋友一起看看吧
    2018-08-08
  • 如何實現(xiàn)在Linux上執(zhí)行exe文件

    如何實現(xiàn)在Linux上執(zhí)行exe文件

    這篇文章主要介紹了在Linux上執(zhí)行exe文件實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • 批處理模式下運行 top 命令的方法

    批處理模式下運行 top 命令的方法

    top 命令 是每個人都在使用的用于 監(jiān)控 Linux 系統(tǒng)性能 的最好的命令。這篇文章給大家介紹批處理模式下運行 top 命令的方法,感興趣的朋友一起看看吧
    2019-10-10
  • 在Linux下用 mkdir 命令來創(chuàng)建目錄和子目錄的用法

    在Linux下用 mkdir 命令來創(chuàng)建目錄和子目錄的用法

    這篇文章主要介紹了在Linux下用 mkdir 命令來創(chuàng)建目錄和子目錄的用法,具體一定的參考價值,有需要的可以了解一下。
    2016-10-10
  • Linux查看分區(qū)文件系統(tǒng)類型的方法總結(jié)

    Linux查看分區(qū)文件系統(tǒng)類型的方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于Linux查看分區(qū)文件系統(tǒng)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Apache?Kafka?分區(qū)重分配的實現(xiàn)原理解析

    Apache?Kafka?分區(qū)重分配的實現(xiàn)原理解析

    這篇文章主要介紹了Apache?Kafka?分區(qū)重分配的實現(xiàn)原理,本文結(jié)合?2.0.0?版本的?Kafka?源碼,詳細介紹了?Kafka?分區(qū)副本重分配的流程和邏輯,需要的朋友可以參考下
    2022-07-07
  • 一步步教你配置并使用Xshell7免費版

    一步步教你配置并使用Xshell7免費版

    想要輕松掌握一款強大的終端仿真器嗎?恭喜你找到了答案!本指南將一步步教你如何配置并使用?Xshell7?免費版,無論是新手還是資深用戶,都能在這里找到實用技巧和驚喜,立即跟隨我們的腳步,探索?Xshell7?的魅力吧!讓我們一起開啟高效運維之旅!
    2024-01-01
  • Linux centos7如何查看目錄下的子目錄

    Linux centos7如何查看目錄下的子目錄

    這篇文章主要介紹了Linux centos7如何查看目錄下的子目錄問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Linux安裝MongoDB啟動及常見問題解決

    Linux安裝MongoDB啟動及常見問題解決

    這篇文章主要介紹了Linux安裝MongoDB啟動及問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08

最新評論