mysql导入导出

mysql的导出:
mysql的数据导出到外部是有限制的,查看限制的方式
show variables like '%secure%'
secure_file_priv为null    表示不允许导入导出
secure_file_priv指定文件夹时,表示mysql的导入导出只能发生在指定的文件夹
secure_file_priv没有设置时,则表示没有任何限制

这个参数的值可以再my.ini的配置文件中修改,
修改后需要重启mysql服务

我这里没有修改,所以导入和导出都只能再指定的目录下/var/lib/mysql-files/
导出命令:
select * from table1 into outfile '/var/lib/mysql-files/table1' fields terminated by ',' lines terminated by '\r\n';

原导出表的建表语句 create table table1(name varchar(10),id int);
新建表结构一样的表   
create table table2 like table1;

导入命令
load data infile '/var/lib/mysql-files/table1' into table table2 fields terminated by ',' lines terminated by '\r\n';

 

重点:
以上说的都是在情况是 文件和mysql都在同一台主机节点,也就是都再服务机上
而假如文件再客户机,要把本地的文件导入导出到服务节点的mysql中,就不用理会
上面导入导出的指定目录了
(当然,即使是文件和mysql同在一个节点,用下面的方式也不用理会)
把远端mysql服务器的数据导出到本地的节点 (-N 忽略字段行,test是库名)
mysql -h 'xxx:xx:xx' -uroot -pxxxx  test -N -e 'select * from table1' > /tmp/test/table1
可以指点本机mysql的数据导出到本机的任意节点了
mysql -h 'localhost' -uroot -pxxxx  test -N -e 'select * from table1' > /tmp/test/table1


把本地文件导入到远端的mysql服务器
在mysql的命令行中键入  加上一个local即可
load data local infile '/tmp/test/table1' into table table2 fields terminated by ',' lines terminated by '\r\n';
也即是说加上local就可以把任意路径的文件导入到mysql了,不受原先路径的限制

 

 

### 如何在 MySQL 中进行数据导入和导出操作 #### 使用 `mysqldump` 工具导出数据库 为了安全有效地备份整个数据库或特定表,可以使用命令行工具 `mysqldump`。此工具创建 SQL 脚本文件,其中包含重建原始数据库所需的所有指令。 ```bash mysqldump -u username -p database_name > backup.sql ``` 这条命令将会提示输入密码并生成名为 `backup.sql` 的文件[^1]。 对于只希望导出结构而不包括实际记录的情况,则应附加参数 `--no-data`: ```bash mysqldump --no-data -u username -p database_name > structure_only_backup.sql ``` #### 设置 `secure_file_priv` 参数 需要注意的是,在某些版本的 MySQL 和 MariaDB 上,默认情况下有一个叫做 `secure_file_priv` 的配置项被启用,它指定了允许执行文件读写操作的具体路径。这意味着除非指定位置位于该变量定义的位置内,否则无法完成相应的导入导出动作[^4]。 可以通过查看当前设置来确认具体路径: ```sql SHOW VARIABLES LIKE 'secure_file_priv'; ``` #### 导入 SQL 文件至数据库 当拥有一个有效的 `.sql` 文件后,就可以通过如下方式将其内容加载回目标数据库中: ```bash mysql -u username -p database_name < backup.sql ``` 这同样适用于恢复之前由 `mysqldump` 创建的数据副本或是其他形式的手动构建脚本文件[^2]。 #### 大型数据库处理技巧 针对非常庞大的数据库,建议采用分批次的方式来进行转储以及后续还原工作;另外还可以考虑利用多线程特性加快速度(取决于服务器硬件条件)。此外,也可以探索更高级别的解决方案如 Oracle 提供的相关工具集中的 Data Pump 功能[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值