本文介紹在單一宿主機上如何配置自動備份。建議使用兩個容器,其中乙個容器作為 mysql 的伺服器,用來處理資料;另乙個容器用於自動備份。這樣保證隔離,避免備份的容器影響到 mysql server 的可用性。
配置 mysql 伺服器容器
建立容器:
docker run --name mysql-a \
-p 3306:3306 \
-v /zc/mysql/datadir-a:/var/lib/mysql \
-e mysql_root_password='123456' -d mysql:latest
進入容器的 bash :
docker exec -it mysql-a bash
1設定時區:
tzselect
1輸入tzselect命令後,根據螢幕提示輸入大洲、城市。因為中國的東八區時間,所以選擇 asia/hong kong。做好選擇後,輸入命令:
cp /usr/share/zoneinfo/asia/hong_kong /etc/localtime
1來持久化你的設定。
進入 /etc/mysql/conf.d
cd /etc/mysql/conf.d
1在這個目錄下,可以建立乙個新的檔案。檔名可隨便起,只要保證字尾名是 .cnf 即可。因為 mysql 的官方映象預設沒有帶 vim 編輯器,所以建議使用 cat 命令來編寫配置檔案:
cat >zhangchao.cnf 《配置 mysql 備份容器
建立容器:
docker run --name mysql-b \
-v /zc/mysql/backup-a:/zc/mysql/backup \
-e mysql_root_password='123456' -d mysql:latest
檢視虛擬網路,其中 bridge 是 docker 預設使用的虛擬網路:
docker network inspect bridge
1在返回的結果中,找到 containers 部分。內容如下:
"containers": {
"asdf2334a": {
"name": "mysql-a"
"endpointid": "sadfas234"
"macaddress": "...."
"ipv4address": "192.168.0.2"
containers 列出了所有使用 bridge 網路的容器。因為我給 mysql 伺服器容器起名為 mysql-a,所以我檢視name 為 mysql-a 的配置。ipv4address表示容器mysql-a的虛擬ip是 192.168.0.2 。記錄下這個ip 。
進入容器的 bash :
docker exec -it mysql-b bash
1更改時區,使用 tzselect 命令和cp命令,具體步驟與上面的mysql-a一樣。
安裝vim和cron定時任務:
生成乙個shell指令碼檔案來進行備份。
cat >/zc/mysql/backup.sh < /zc/mysql/backup/\$zcdate/db1.sql
mysqldump -h '192.168.0.2' -uroot -p'123456' --databases db2 > /zc/mysql/backup/\$zcdate/db2.sql
eofmysql上存在兩個資料庫,名稱分別是 db1 和 db2,利用這種方式在硬碟上備份資料。-h表示遠端的伺服器ip。-u 和 -p 分別是遠端伺服器的使用者名稱和密碼。這裡不建議使用 mysqldump 的 –all-database 選項。因為該選項會把遠端mysql裡的系統資料庫也備份下來,包括 root 使用者的密碼等內容。如果你要把匯出的內容匯入到別的機器上,這些系統設定(比如使用者名稱和密碼)會覆蓋你的機器上原來的設定。
crontab -e
1在開啟的檔案中輸入一下內容:
0 23 * * * sh /zc/mysql/backup.sh
1系統預設使用vim開啟這個檔案。修改完後用 wq 命令儲存檔案。
啟動定時任務的服務:
service cron start
1!
mysql 伺服器配置
2017年6月7日 環境 作業系統 ubuntu 14.04 linux jason lenovo g400s 4.4.0 78 generic 99 14.04.2 ubuntu smp thu apr 27 18 49 46 utc 2017 x86 64 x86 64 x86 64 gnu l...
mysql 伺服器配置
windows 1.在bin目錄下執行mysqld.exe install manual安裝服務 刪除命令是mysqld.exe remove 2.執行net start mysql啟動服務 停止服務net stop mysql 3.修改root密碼,執行mysqladmin uroot p pas...
mysql伺服器配置單 mysql伺服器配置
net stop mysql net start mysql 第二招 登陸mysql 語法如下 mysql u使用者名稱 p使用者密碼 mysql的提示符是 mysql 注意,如果是連線到另外的機器上,則需要加入乙個引數 h機器ip 第三招 增加新使用者 格式 grant 許可權 on 資料庫.to...