远程备份语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql
本地备份语法: # mysqldump -u用户名 -p密码 数据库名 > 备份文件.sql
1.常用备份选项**
-A, --all-databases
备份所有库
-B, –databases bbs test mysql
备份多个数据库
–no-data,-d
不导出任何数据,只导出数据库表结构。
备份表
语法: # mysqldump -u root -p1 db1 t1 > /db1.t1.bak
[root@mysql-server ~]# mkdir /home/back #创建备份目录
[root@mysql-server ~]# mysqldump -uroot -p’qf123’ company employee5 > /home/back/company.employee5.bak
mysqldump: [Warning] Using a password on the command line interface can be insecure.
备份多个表:
语法: mysqldump -u root -p1 db1 t1 t2 > /db1.t1_t2.bak
[root@mysql-server ~]# mysqldump -uroot -p’qf123’ company new_t1 new_t2 > /home/back/company.new_t1_t2.bak
备份库
备份一个库:相当于将这个库里面的所有表全部备份。
语法: # mysqldump -u root -p1 db1 > /db1.bak
[root@mysql-server ~]# mysqldump -uroot -p’qf123’ company > /home/back/company.bak
备份多个库(-B):
语法:mysqldump -u root -p1 -B db1 db2 db3 > /db123.bak
[root@mysql-server ~]# mysqldump -uroot -p’qf123’ -B company testdb > /home/back/company_testdb.bak
备份所有的库:
语法:# mysqldump -u root -p1 -A > /alldb.bak
[root@mysql-server ~]# mysqldump -uroot -p’qf123’ -A > /home/back/allbase.bak
恢复库
登陆mysql创建一个库
mysql> create database company;
恢复:
[root@mysql-server ~]# mysql -uroot -p’qf123’ company < /home/back/company.bak
恢复表
登陆到刚才恢复的库中将其中的一个表删除掉
mysql> show databases;
mysql> use company
mysql> show tables;
±------------------+
| Tables_in_company |
±------------------+
| employee5 |
| new_t1 |
| new_t2 |
±------------------+
mysql> drop table employee5;
开始恢复:
mysql> set sql_log_bin=0; #停止binlog日志(可选)
Query OK, 0 rows affected (0.00 sec)
mysql> source /home/back/company.employee5.bak; -------加路径和备份的文件
恢复方式二:
mysql -u root -p1 db1 < db1.t1.bak
库名 备份的文件路径
转载:https://blog.csdn.net/qq_44972651/article/details/104956817