mysql 備份與恢復

2021-09-20 13:57:38 字數 1592 閱讀 2588

--mysql備份整個資料庫

mysqldump -uroot -p -hcentos7 -p3306 --all-database >all.sql

mysqldump --socket=/var/lib/mysql/mysql.sock -uroot -p --all-database >/tmp/mysql_database_backup.sql

mysqldump -uredmine -predmine1234  redmine >/tmp/mysql_database_backup.sql

mysql -uredmine -predmine1234 --socket=/var/lib/mysql/mysql.sock

--匯出指定的庫

mysqldump -uroot -p -hcentos7 -p3306 --database test --fields-terminated-by ',' >test.sql

--匯入整個資料庫

mysql -uroot -p test/tmp/table_ddl.sql

--single-transaction如果是innodb不加鎖啊!相當於對錶select,其他會話不能更改表結構,目前只對事務性的儲存引擎有作用,即innodb儲存引擎

1.--lock-tables

執行命令

mysqldump -uroot --lock-tables --databases db1 db2 > test.sql

它在匯出db1的時候,會對db1所有的表上鎖,匯出結束之後釋放鎖.然後再同樣匯出db2.

也就是說在db1匯出的時候,db2的資料可能還在變化.

其一般用於myisam儲存引擎,備份時只能對資料庫表進行讀取操作,不允許dml

2.--lock-all-tables

mysqldump -uroot --lock-all-tables --databases db1 db2 > test.sql

它會在一開始就對所有的資料庫的所有表上鎖,請注意它會使用flush tables

3.--single-transaction

mysqldump -uroot --single-transaction --databases db1 db2 > test.sql

可以看到它設定整個匯出的過程為乙個事務.避免了鎖,在備份開始前,先執行start transaction

--single-transaction如果是innodb不加鎖啊!相當於對錶select,其他會話不能更改表結構,目前只對事務性的儲存引擎有作用,即innodb儲存引擎

4.--master-data

它對所有資料庫的所有表上了鎖,並且查詢binlog的位置。請注意它會使用flush tables

5.--master-data + --single-transaction

mysqldump -uroot --master-data --single-transaction --databases db1 db2 > test.sql

這種組合,會先對所有資料庫的所有表上鎖,讀取binlog的資訊之後就立即釋放鎖,這個過程是十分短暫的。

然後整個匯出過程都在乙個事務裡.

請注意它會使用flush tables

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