mysqldump-uroot -p123456--default-character-set=utf8quan > /opt/quan.sql //備份
grep -ev "#|\/|--|^$" quan.sql //檢視檔案
drop table if exists `test`; //刪除老的表
lock tables `test` write; //鎖
unlock tables; //解鎖
mysql -uroot -p123456 quan < /opt/quan.sql //恢復
備份時加 多下面兩行 建庫 進入表
debug除錯--compact//減少輸出注釋 優化備份大小 不新增鎖
> create database /*!32312 if not exists*/ `quan` /*!40100 default character set gbk */;
> use `quan`;
恢復時 mysql -uroot -p123456 < /opt/quan_b.sql //直接恢復就行
mysqldump -uroot -p123456 quan| gzip> /opt/quan.sql.gz //壓縮
gunzip quan.sql.gz //解壓 , 再恢復
--databases, -b: 用於備份多個資料庫,如果沒有該選項,mysqldump 把第乙個名字引數作為資料庫名,後面的作為表名。使用該選項,mysqldump 把每個名字都當作為資料庫名。
mysqldump -uroot -p123456-bquan he | gzip > /opt/quan.sql.gz //備份多個 庫
mysqldump -uroot -p123456quan test test1 | gzip > /opt/quan.sql.gz //備份單個表
分庫備份命令
mysql -uroot -p123456 -e "show databases;" | grep -evi "database|infor|perfor" | sed 's#^#mysqldump -uroot -p123456 -b #g'
mysql -uroot -p123456 -e "show databases;" | grep -evi "database|infor|perfor" | sed -r 's#^([a-z].*$)#mysqldump -uroot -p123456 -b \1 | gzip > /opt/\1.sql.gz#g' | bash
mysql全量匯出時碰到如下告警: 預設是不備份事件表的,只有加了--events 才會不警告
warning: skipping the data of table mysql.event. specify the --events option explicitly
解決辦法:
--events --ignore-table=mysql.event
指令碼迴圈備份分庫
#!/bin/bash
for name in `mysql -uroot -p123456 -e "show databases;" | grep -evi "database|infor|perfor" `
domysqldump -uroot -p123456 --events --ignore-table=mysql.event -b $name | gzip > /opt/$.sql.gz
done
備份表結構
mysqldump -uroot -p123456-dquan > /opt/quan1.sql // --no-data, -d:只匯出表結構
只備份資料
mysqldump -uroot -p123456-tquan > /opt/quan1.sql // -t =--no-create-info
匯出全部資料庫
--all-databases , -a
匯出全部表空間
--all-tablespaces , -y
mysqldump -uroot -p123456 -a-b --events> /opt/quan1.sql //備份整個資料庫
bin-log日誌
vim /etc/my.cnf
#log-bin=mysql-bin //關閉
mysql/data/mysql-bin.000001
mysqldump-f// 重新整理bin-log日誌
--master-data=2 /1 //增加bin-log 的日誌檔名及對應的位置點
先注釋掉 my.cnf [client] #default-character-set=utf8
mysqlbinlog-b --compact -a -b -f -x 鎖表 -l唯讀鎖表 -d -t
恢復①use quan;
mysql>source /root/quan.sql
②#mysql-uroot -p123456 hequan < /opt/hequan.sql
cat .my.cnf 設定登陸
[client]
user=root
host=localhost
password=123456
ifconfig eth0 | awk -f "[ :]+" 'nr==2 '
192.168.10.11
多分庫檔案恢復
for name in `ls *.sql| sed 's#.sql##g' `; do mysql -uroot -p123456 < $.sql ; done
error 1046 (3d000) at line 22: no database selected
修改.sql 在22行前面加上 use 庫名字;
mysql -e" " //在外面執行mysql命令
mysql> show full processlist; //連線情況
mysql>show variableslike "%log_bin%";
+---------------------------------+-------+
| variable_name | value |
+---------------------------------+-------+
| log_bin | off |
| log_bin_trust_function_creators | off |
| sql_log_bin | on |
+---------------------------------+-------+
mysql 備份與恢復 MySQL 備份與恢復
1 檢視資料庫的資料儲存在哪個目錄下 shiyanlou mysql uroot e show variables like datadir variable name value datadir var lib mysql 2 備份資料的方法 select into outfile 檔名 或者 s...
mysql 備份與恢復 Mysql 備份與恢復
資料檔案一致性處理 在完全備份的情況下,檔案不是時間點一致的,因為進行快照的時間點不一樣。如果嘗 試在未prepare資料的情況下還原資料庫,雖然操作上支援恢復,但是在啟動的時候仍會 進行資料recovery。執行帶 prepare 選項的 mariabackup 命令會使資料檔案進行統一,達到資料...
mysql備份恢復 mysql之備份與恢復
工作中,我們經常會遇到資料庫的備份與恢復場景 目錄1 mysql的備份與恢復 2 mysql的匯入與匯出 1 mysql的備份與恢復 mysql的備份命令是mysqldump,mysql之備份 mysqldump u user h host port p db table.file u 後面接資料庫...