MySQL如何导出指定字段的数据到文件中
MySQL可以通过 mysqldump 命令来备份整个数据库数据,如果我们只是将数据库某个表中的一个或多个字段内容导出,该如何操作呢?
可以通过 mysql -e 命令来导出指定字段的数据到文件中。
示例命令如下:
```
mysql -uroot -p [db_name] -e "SELECT id,name from users INTO OUTFILE'/db_backup/user_id_name.sql'"
```
其中 [db_name] 是 user 表所在的数据库。
在执行该命令时,会出现如下error
```
ERROR 1290 (HY000) at line 1:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
```
表示你没有权限将数据导出,那么该怎么办呢?
登录MySQL查看是否有权限导出,登录后执行如下命令
```
show variables like '%secure%';
```
在结果中找到 secure_file_priv 字段,如果其对应的 Value 为 null,表示无法导出。这时可以通过修改 my.cnf 配置文件来解决这个问题。
找到 my.cnf 文件,在文件中添加如下内容(将要导出的目录添加到配置文件中)
```
[mysqld]
secure_file_priv = /db_backup/
```
我的笔记