常用的备份选项 :
-A --all-databases 备份所有的库
-B --databases database_name1 database_name2 备份多个库
-d --no-data 不导出任何数据,只导出表结构
-D 回复表结构
1、数据库备份
备份所有的数据库:
mysqldump -uroot -p'password' -A > /all.sql
备份部分库:
mysqldump -uroot -p'password' -B databaes_name1 database_name2 > name12.sql
备份数据库里的表:
msyqldump -uroot -p'password' database_name table_name > table.sql
备份数据库里的多个表
mysqldump -uroot -p'password' database_name table_name1 table_name2 > name12.sql
备份表的结构:
msyqldump -uroot -p'password' -d database_name table_name > table.sql
备份表中的数据:
先进入mysql数据库
查看可不可以
mysql> show variables like 'secure%'
+------------------+-----------------------+
| Variable_name | Value |
+------------------+-----------------------+
| secure_auth | ON |
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
如果不允许进入mysql配置文件
vim /etc/my.cnf
secure_file_priv=/opt/mysql-files/ #自己的路径
chown mysql:mysql /opt/mysql-files/ -R 设置权限
systemctl restart mysqld 重启mysql服务
mysql> select * from table_name into outfile '/var/lib/mysql-files/table.sql'
2、恢复数据库
mysql -uroot -p'password' < name.sql & 进入数据库
mysql> source /root/name.sql
恢复表
mysql -uroot -p'password' databases_name < table.sql
恢复表结构
mysql -uroot -p'password' -D database_name < name.sql
恢复表中数据
进入MySQL
mysql> load data infile '/var/lib/mysql-file/name.sql' into table table_name