mysql

# 将SQL结果导入到文件:

select concat(‘drop table ‘,table_name,’;’) from information_schema.TABLES where table_schema=’kevin’ into outfile ‘/opt/mysql/data/table.txt’;

## 允许mysql数据导入导出,且导出到任意目录(注意导出到的目录权限要是mysql.mysql)

[root@localhost ~]# vim /usr/local/my.cnf

[mysqld]

……

secure_file_priv=                     //只能导到这个目录下

……

restart数据库

Stopping mysqld:                                           [  OK  ]

Starting mysqld:                                           [  OK  ]

## 比如导出到/mnt/data目录下,则给出权限

[root@localhost ~]# mkdir /mnt/data

[root@localhost ~]# chown -R mysql.mysql /mnt/data/

登录mysql查看secure-file-priv参数的值:

mysql> show global variables like ‘%secure%’;

+——————+——-+

| Variable_name    | Value |

+——————+——-+

| secure_auth      | OFF   |

| secure_file_priv | /     |

+——————+——-+

2 rows in set (0.00 sec)

导出到指定的/mnt/data/data.txt文件中,该文件不能是已存在状态,mysql数据导出的时候会自动创建该文件。

## sql示例

mysql> select concat(‘drop table ‘,table_name,’;’) from information_schema.TABLES where table_schema=’kevin’ into outfile ‘/mnt/data/table.txt’;

## 结果

drop table admin_menu;

drop table admin_users;

……

作者 赵文明

发表回复