ubuntu中,txt导入mysql数据库文件
第一種方式是,在導入的mysql命令中,需要有local選項
newbooks.txt的內容為(字段之間用Tab鍵隔開):
1111?? ?羅琳?? ?哈利波特?? ?50
---------------------------------------------------------
gedit /etc/apparmor.d/usr.sbin.mysqld中加入
/home/appleyuchi/datatosql r,
/home/appleyuchi/datatosql* rw,
---------------------------------------------------------------
編輯/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]下面增加
secure_file_priv="/home/appleyuchi/datatosql"
-----------------------------------------------------
service mysql restart
然后進入數據庫導入
mysql>use books;
mysql>load data local infile "/home/appleyuchi/datatosql/newbooks.txt" into table books;
第二種方式是,在導入的mysql命令中,不需要有local選項
步驟一:
chmod o+rx /home/appleyuchi/datatosql chmod o+r /home/appleyuchi/datatosql/data.txt
步驟二:
sudo apt install apparmor-utils
sudo aa-complain /usr/sbin/mysqld
sudo /etc/init.d/apparmor reload
然后進入數據庫導入
mysql>use books;
mysql>load data? infile "/home/appleyuchi/datatosql/newbooks.txt" into table books;
參考文獻:https://ubuntuforums.org/showthread.php?t=822084
https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.0/+bug/244406
《PHP和Mysql Web開發》(原書第四版)234頁(提供了第二種不帶local的導入方式,但是完全沒有提到需要設置apparmor,太坑)
總結
以上是生活随笔為你收集整理的ubuntu中,txt导入mysql数据库文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python调用mysql中的自定义fu
- 下一篇: 在mysql-workbench中运行s