MySQL 學習筆記

2021-08-21 14:05:42 字數 2656 閱讀 6594

了解備份方式

熱備份:讀寫不受影響(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 ...