数据库备份

备份命令在shell命令行进行

1
$ mysqldump [-P端口号] -u用户名 -p密码 [-B] 数据库名 > 备份后的名称.bak.sql

[ ]内的是可以省略的

-u和用户名、-p和密码之间可以加空格,可以不加

-B和数据库名之间必须有空格(如果-B没有省略的话)

端口号可能是3306,取决于数据库有没有指定端口

备份后的文件要具体到路径,否则认为当前工作路径(同其他shell命令一样)

eg1:mysqldump -uroot -p0295 test2 > ../test2.bak.sql备份到了父目录

eg2:mysqldump -P3306 -uroot -p0295 test2 > test2.bak.sql备份到了当前目录

可以多个数据库同时备份

1
$ mysqldump [-P端口号] -u用户名 -p密码 [-B] 数据库1 数据库2 > 备份后的名称.bak.sql

eg:mysqldump -uroot -p0295 -B test2 test_mysql > test.back.sql两个数据库备份到了一个备份文件上

也可以只进行数据库中表的备份

1
$ mysqldump [-P端口号] -u用户名 -p密码 数据库名 表1 表2 > 备份后的名称.bak.sql

备份表的时候不能加-B,因为-B是专用于数据库的,否则会把表名当成数据库名

eg:mysqldump -uroot -p0295 test2 test2_table1 > test_table1.back.sql

》 本文为https://blog.musnow.top/posts/2109090510/的总结与补充其他知识点详见置顶链接

还原命令在mysql中执行

1
mysql> source 备份文件路径

eg:source /yj/test2.bak.sql

数据库中的内容和原来数据库中的内容是相同的

mysql备份的时候,会将里面的语句智能化简