部署在后台服务器或者云端的MySQL大部分做了一些限制,在本地无法直连后台服务的数据库3306端口上,一般有防火墙之类的网络中间件

在远程服务器一般不能使用GUI图形化界面工具进行数据备份,所以我们一般都是通过命令mysqldump进行

MySQL mysqldump 数据备份_sql

导出建库建表的SQL:

mysqldump -u 用户名 -p111111 --all-databases > ~/all.sql
mysqldump -u 用户名 -p111111 --databases school > ~/school.sql
mysqldump -u 用户名 -p111111 school stu >

导出纯数据:

mysql -u 用户名 -p111111 -D school -e 'select * from user where age>10' >

导入数据,建库建表:

source

在linux shell下执行以下命令,即可把mytest库的user表的数据导出到.sql文件中(导出的不仅是数据,SQL语句也导出了)

MySQL mysqldump 数据备份_sql_02


user.sql文件内容如下:

MySQL mysqldump 数据备份_C语言_03


现在user.sql是root的文件,我们变更一下属主,使得普通用户也可以操作

MySQL mysqldump 数据备份_数据_04


我们现在把mytest库下的user表删除

MySQL mysqldump 数据备份_数据_05


然后我们source,相当于把.sql脚本重新执行一遍

MySQL mysqldump 数据备份_C语言_06

MySQL mysqldump 数据备份_mysql_07


user表和数据全部恢复出来了,有了.sql的脚本,可以在任意的mysql库上去重建库表及数据我们还可以直接导出纯表数据

MySQL mysqldump 数据备份_C语言_08


user.txt内容如下:

MySQL mysqldump 数据备份_C语言_09