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