记 一次mysql 数据迁移
Posted lowmanisbusy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记 一次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 客户端(mysql -u root -p),使用 select sql语句
select [列名],[列名2](或者直接*) from {表名称} [where 语句] into outfile {"目标文件名称,字符串"} [options]
参数 options 可选, 默认输出到 mysql 保存数据表文件的目录
2)方法二,使用 mysqldump 命令
二.数据还原
1.还原结构/结构与数据同时还原(注意,原有数据表的表结构及数据会被覆盖清空)
登录 mysql 客户端(mysql -u root -p),直接执行指令:
source {备份文件的路径}
2.插入仅备份了数据的备份文件(注意:备份数据中是否和现有数据表中的数据冲突,如 id 等)
登录 mysql 客户端(mysql -u root -p):
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 客户端时,需要进入 mysql 执行文件目录下,再执行指令,才能正常进入客户端
以上是关于记 一次mysql 数据迁移的主要内容,如果未能解决你的问题,请参考以下文章