Mysql數據庫徹底備份

第一種備份方法:mysql

使用tar打包文件夾備份sql

對數據庫文件目錄data進行壓縮備份,使用壓縮率較大的xz格式壓縮數據庫

[root@localhost opt]# yum install -y xz
ide

[root@localhost opt]# tar jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/         #壓縮備份工具

[root@localhost opt]# ls
mysql-2018-08-30.tar.xz  rh
spa

設置定時任務自動執行orm

[root@localhost opt]# crontab -e
 no crontab for root - using an empty one
 crontab: installing new crontab
 [root@localhost opt]# crontab -l
 30 1 * * * tar jcvf /opt/mysql-$(date +%F) /usr/local/mysql/data/                #設置定時任務自動執行

數據恢復,解壓壓縮備份文件便可crontab

[root@localhost opt]# tar jxvf mysql-2018-08-30.tar.xz -C /usr/local/mysql/data/    it


第二種備份方法io

使用mysqldump工具壓縮

備份數據庫

[root@localhost data]# mysql -uroot -p -e 'show databases;'
Enter password: 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
| usr                |
[root@localhost ~]# mysqldump -uroot -p --databases school > /opt/school.sqlEnter password:

[root@localhost ~]# ls /opt
mysql-2018-08-30.tar.xz  rh  school.sql

刪除數據庫school

[root@localhost data]# mysql -uroot -p -e 'drop database school;show databases;'
Enter password: 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| usr                |
+--------------------+

數據庫還原

第一種方案:

[root@localhost ~]# mysql -uroot -p < /opt/school.sql
Enter password: 
[root@localhost ~]# mysql -uroot -pabc123 -e 'show databases;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
| usr                |
+--------------------+

第二種方案:

[root@localhost ~]# mysql -uroot -pabc123mysql> source /opt/school.sql


附:

mysqldump 對單個庫徹底備份

mysqldump -u root -p --databases school >/opt/school.sql

對多個數據徹底備份

mysqldump -u root -p --databases mysql school >/opt/school-mysql.sql

對全部庫進行備份

mysqldump -u root -p --all-databases > /opt/all.sql

對錶進行備份

mysqldump -u root -p school info >/opt/info.sql

對錶結構進行備份

mysqldump -u root -p -d school info >/opt/info.sql

相關文章
相關標籤/搜索