您好,登錄后才能下訂單哦!
mysqldump -uroot -p123456 --default-character-set=utf8 quan > /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 -B quan he | gzip > /opt/quan.sql.gz //備份多個 庫
mysqldump -uroot -p123456 quan 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" `
do
mysqldump -uroot -p123456 --events --ignore-table=mysql.event -B $name | gzip > /opt/${name}.sql.gz
done
備份表結構
mysqldump -uroot -p123456 -d quan > /opt/quan1.sql // --no-data, -d:只導出表結構
只備份數據
mysqldump -uroot -p123456 -t quan > /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 /applicatiom/mysql/data/mysql-bin.000001
-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 {print $4}'
192.168.10.11
多分庫文件恢復
for name in `ls *.sql| sed 's#.sql##g' `; do mysql -uroot -p123456 < ${name}.sql ; done
ERROR 1046 (3D000) at line 22: No database selected
修改.sql 在22行前面加上 use 庫名字;
mysql -e " " //在外面執行mysql命令
mysql> show full processlist; //連接情況
mysql> show variables like "%log_bin%";
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。