标签:备份 备份文件 数据表 mysqldump mysql 迁移 数据 数据库
一.数据备份
进入 mysql 执行文件目录(根据实际进行切换)
cd /usr/local/mysql/bin/
1.仅备份结构
1)指定数据表备份表结构
mysqldump -u root -p -d {数据库名称} {表名称1} {表名称2} > dump.sql
2)备份所有数据表的表结构
mysqldump -u root -p -d {数据库名称} > dump.sql
3)备份多个数据库的的表结构
mysqldump -u root -p -d --databases {数据库名称1} {数据库名称2} > dump.sql
4)备份所有数据库的表结构
mysqldump -u root -p -d --all-databases > dump.sql
2.同时备份表结构和数据
将上面的命令 -d 参数去掉即可
3.仅备份数据
1)方法一,进入 mysql 客户端,使用 select 语法
select [列名],[列表2](或者直接*) from {表名称} [where 语句] into outfile '目标文件名称' [options]
参数 options 可选, 默认输出到 mysql 保存数据表文件的目录
2)方法二,使用 mysqldump 命令
二.数据还原
1.还原结构备份文件/结构与数据备份文件(注意,原有数据表的表结构及数据会被覆盖清空)
进入 mysql 客户端,直接执行命令
source {备份文件的路径}
2.插入仅备份了数据的备份文件(注意备份数据中是否和现有数据表中的数据冲突,如 id 等)
load data [local] in file {备份文件路径] into table {数据表名称} [options]
参数 local: 如果使用本地备份文件
参数 options: 可选
注意:
1.在进行备份操作时,遇到了如下异常
MySQL server is running with the --secure-file-priv option so it cannot execute this statement
原始是MySQL限制了导入与导出的目录权限,只能在规定的目录下才能操作,使用sql语句 " show variables like '%secure%'; " 查看 secure-file-priv 当前值。
解决办法:
在 配置文件的 [mysqld] 下:
secure-file-priv = ""
重启数据库,然后就可以在任何目录下操作了,或者指定目录
2.不知道是否由于本人配置除了问题的原因,进入 mysql 客户端时,需要指定执行文件的路径
标签:备份,备份文件,数据表,mysqldump,mysql,迁移,数据,数据库 来源: https://www.cnblogs.com/lowmanisbusy/p/12175435.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。