Saturday, April 27, 2024

Linux下MySQL/MariaDB數據庫的備份與恢復

MySQL數據庫的備份,最常用的是phpmyadmin、帝國備份王之類的工具,但是如果備份時提示內存超限的話,可以使用下面的方法。

一、通過MySQL/MariaDB自身提供的功能

導出數據庫要用到MySQL/MariaDB的mysqldump工具,基本用法是:
shell> mysqldump [OPTIONS] database [tables] 如果你不給定任何錶,整個數據庫將被導出。

1.導出數據庫
命令:
mysqldump -u 用戶名 -p 數據庫 > 數據庫.sql
示例:
mysqldump -u root -p db1 > db1.sql (將數據庫db1備份到db1.sql<可以改成你想要放入的目錄中>中)
提示輸入密碼,完成即可。

2.導入數據庫
需要先創建一個空數據庫
mysql -u root -p(輸入密碼後進入MySQL/MariaDB)
create database db1; (創建一個名為db1的數據庫)
exit (退出MySQL/MariaDB)
命令:
mysql -u 用戶名 -p 數據庫 < 數據庫.sql 示例: mysql -u root -p db1 < db1.sql (從備份文件db1.sql中導入數據到數據庫db1中) 提示輸入密碼,完成即可。 二、通過直接拷貝MySQL/MariaDB數據庫文件
如果數據庫特別大,可以使用拷貝的方式進行備份,不過不同的操作系統間可能會導致不兼容。
1.導出數據庫
進入MySQL/MariaDB目錄,打包需要備份的數據庫目錄
示例:
cd /var/lib/mysql (進入MySQL/MariaDB目錄)
tar -zcvf db1.tar.gz db1 (打包db1目錄,如果提示沒有權限,在前面加上sudo,提示輸入密碼後即可)

2.導入數據庫
首先創建一個空數據庫,將打包的文件拷貝到MySQL/MariaDB目錄後解壓
示例:
mysql -u root -p(輸入密碼後進入mysql)
create database db1; (創建一個名為db1的數據庫)
exit (退出MySQL/MariaDB)
cp db1.tar.gz /var/lib/mysql (將打包文件拷貝到MySQL/MariaDB目錄下)
cd /var/lib/mysql (進入MySQL/MariaDB目錄)
tar -zxvf db1.tar.gz (解壓到當前目錄

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.