了解備份方式
熱備份:讀寫不受影響(mysqldump-->innodb)
溫備份:僅可以執行讀操作(mysqldump-->myisam)
冷備份:離線備份,讀寫都不可用
物理備份:將資料檔案拷貝(xtrabackup、mysqlhotcopy)
完整備份:備份所有資料
增量備份:僅備份上次完整備份或增量備份以來變化的資料
差異備份:僅備份上次完整備份以來變化的資料
環境準備:
建立目錄用於存放二進位制檔案位置
mkdir /home/mybinlog
chown mysql:mysql /home/mybinlog
#編輯配置檔案
my.cnf
vim /etc/my.cnf
log-bin=/home/mybinlog/mysql-bin
##二進位制日誌目錄及檔名字首
binlog_format=mixed #二進位制日誌格式
log-error = /data/3309/mysql-err
#錯誤日誌位置
innodb_file_per_table = 1 #為每乙個新資料表建立乙個表空間檔案
sync_binlog = 1 #寫二進位制日誌的時候,同步到磁碟上面
innodb_file_per_table = 1 ##啟用innodb表每表一檔案,預設所有庫使用乙個表空間
show master status 時沒有資料顯示
時在my.cnf
加log-bin=mysql-bin
cp /data/3309/my.cnf /opt/backup/ #備份配置檔案
然後啟動mysql 備份
建立用於存放備份的目錄 m
kdir
/home/mysqlbackup \\用於存放備份檔案 m
kdir
/home/mysqlbackup/mylogbin\\用於存放備份的二進位制日誌
mkdir /home/mysqlbackup/mylogstatus \\用於存放二進位制日誌起始位置
chown -r mysql:mysql /home/mysqlbackup
一、使用mysqldump實現完全熱備+增量備份。
我們要使用mysqldump工具對innodb儲存引擎的資料庫做完全熱備,並且滾動二進位制日誌,為了下次恢復或者增量方便,還要記錄一下當前二進位制日誌檔案位置。
第一步:全備
[root@localhost bin]# ./mysqldump -u root -p --master-data --all-databases --routines --events >/home/mysqlbackup/mydb_all_`date +%f`.sql;
第二步:生成全備
滾動日誌記錄二進位制日誌檔案與起始位置
[root@localhost bin]# ./mysql -u root -p -e 'show master status' > /home/mysqlbackup/mylogstastus/`date +%f-%h`.txt;
第三步:檢視全備滾動日誌的起始位置
[root@localhost bin]# cat /home/mysqlbackup/mylogstastus/2018-04-17-09.txt
第四步:檢視全備的終點位置
mariadb [(none)]> show master status;(進入mysql下面)
第五步:新增資料,然後再次show master status;
第六步:檢視日誌存放再哪個目錄下
第七步:進行增備
[root@localhostbin]# ./mysqlbinlog--start-position=801154 --stop-position=849789 > /opt/lampp/var/mysql/mysql-bin.000003 >/home/mysqlbackup/incrmental-`date +%f-%h`.sql;
第八步:記錄當前show master status 狀態
[root@localhost bin]# ./mysql -u root -p -e 'show master status' > /home/mysqlbackup/mylogstastus/`date +%f-%h`.txt;
第九步:刪除資料庫(為備份做準備)
mariadb [test]> drop database test;
第十步:先全備
[root@localhost bin]# ./mysql -u root -p < /home/mysqlbackup/mydb_all_2018-04-17-13.sql
其次再增備
[root@localhost bin]# ./mysql -uroot -p
mysql學習筆記 51 mysql學習筆記
初學mysql時整理,隨時更新 資料操作 增 insert into 表名 字段列表 values 值列表 值列表 如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。可同時插入多條資料記錄!replace 與 insert 完全一樣,可互換。insert into 表名 set 欄位名...
mysql學習筆記 51 Mysql 學習筆記
一.首先進入mysql mysql u root p新增使用者許可權設定 grant all privileges on to jerry localhost identified by aa1234567 只允許本機訪問 grant all privileges on to jerry 10.80...
mysql做筆記 mysql學習筆記
alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...