mysql備份與恢復 ERROR 1046

2021-09-21 04:03:41 字數 4097 閱讀 6119

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 後面接資料庫...