mysql之數據庫數據導入EXCEL表格


使用場景

將數據路中的數據導出到excel表格中,用於恢復備份時核對數據庫數據的准確性

一、操作流程

[root@server3 ~]# mysql #進入mysql
mysql> create database user;  #創建userku
Query OK, 1 row affected (0.01 sec)

mysql> use user #進入user庫
Database changed
mysql> create table stu(name varchar(48) not null,score int(16) not null);
Query OK, 0 rows affected (0.01 sec)  #創建表stu

mysql> insert into stu values('qiqi',80),('lili',90),('sisi',85)
    -> ; #插入數據
mysql> select * from stu
    -> ;
+------+-------+
| name | score |
+------+-------+
| qiqi |    80 |
| lili |    90 |
| sisi |    85 |
+------+-------+
3 rows in set (0.00 sec)

 在/目錄下創建一個目錄為test,並修改配置文件

[root@server3 ~]# mkdir /test
[root@server3 ~]# vi /etc/my.cnf
secure-file-priv = ""     #添加一行,可以指定路徑,如果為空可以導入任何有權限的路徑
systemctl restart mysqld #重啟服務 

若沒加此行會出現如下報錯

MYSQL導入數據出現ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement,

查看 secure_file_priv 的值,默認為NULL,表示限制不能導入導出。

查看官方文檔,secure_file_priv參數用於限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()傳到哪個指定目錄。

  • secure_file_priv 為 NULL 時,表示限制mysqld不允許導入或導出。
  • secure_file_priv 為 /tmp 時,表示限制mysqld只能在/tmp目錄中執行導入導出,其他目錄不能執行。
  • secure_file_priv 沒有值時,表示不限制mysqld在任意目錄的導入導出。

 

修改test目錄權限

 

[root@server3 ~]# chmod 777 /test
[root@server3 ~]# cd /
[root@server3 /]# ll
drwxrwxrwx.   2 root root    6 11月 29 22:14 test

 

 

導出數據

mysql> select * from stu into outfile '/test/user.xls';
Query OK, 3 rows affected (0.00 sec)  

進入/test查看文件是否生成

[root@server3 ~]# cd /test
[root@server3 test]# ll
總用量 4
-rw-rw-rw-. 1 mysql mysql 24 11月 29 22:30 user.xls

 導出數據,查看與數據庫內容是否一致

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM