下文內(nèi)容主要給大家?guī)?lái)普通數(shù)據(jù)文件導(dǎo)入MySQL出現(xiàn)問(wèn)題如何處理,這里所講到的知識(shí),與書(shū)籍略有不同,都是創(chuàng)新互聯(lián)專(zhuān)業(yè)技術(shù)人員在與用戶接觸過(guò)程中,總結(jié)出來(lái)的,具有一定的經(jīng)驗(yàn)分享價(jià)值,希望給廣大讀者帶來(lái)幫助。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了慶云免費(fèi)建站歡迎大家使用!
一、問(wèn)題描述
數(shù)據(jù)文件 a.txt 導(dǎo)入mysql表中。
1、第一個(gè)問(wèn)題
# mysqlimport -uabc -p'123' -h db1 -P 3306 DB a.txt ERROR 1045 (28000): Access denied for user 'root'@'db1' (using password: YES), when using table:
在排除密碼和格式填寫(xiě)錯(cuò)誤之后,查看mysql.user表 ,確認(rèn)是否有File權(quán)限。
確認(rèn)之后確實(shí)沒(méi)有File權(quán)限。更新mysql.user表的File權(quán)限為'Y',刷新權(quán)限。
> flush privileges;
2、第二個(gè)問(wèn)題
重新執(zhí)行導(dǎo)入命令
# mysqlimport -uabc -p'123' -h db1 -P 3306 DB a.txt mysqlimport: Error: 1290, The MySQL server is running with the --secure-file-priv option so it cannot execute this statement, when using table:
--使用load data infile 也報(bào)相同錯(cuò)誤。
查看--secure-file-priv參數(shù)
> show global variables like 'secure_file_priv'; +------------------+-----------+ | Variable_name | Value | +------------------+-----------+ | secure_file_priv | /dev/null | +------------------+-----------+
此參數(shù)不是動(dòng)態(tài)參數(shù)。需要添加配置文件,重啟服務(wù)才可以生效。
1)不限制導(dǎo)入導(dǎo)出
# cat /etc/my.cnf [mysqld] secure_file_priv
2)限制在特定目錄下
# cat /etc/my.cnf [mysqld] secure_file_priv = /tmp
--只允許/tmp目錄下的數(shù)據(jù)文件可以導(dǎo)入,其他目錄下的文件沒(méi)有權(quán)限導(dǎo)入。
因?yàn)槲覀兪褂玫氖球v訊云的mysql數(shù)據(jù)庫(kù),這個(gè)參數(shù)不能修改,但是我們又必須有導(dǎo)入導(dǎo)出的功能,所以我們只能自建實(shí)例,自己做限制。
3、第三個(gè)問(wèn)題
# mysqlimport -r --host="db1" --port="3306" --user="abc" --password="123" --fields-terminated-by="\t" --lines-terminated-by="\n" --columns="a,b,c,d" DB "/tmp/a.txt" mysqlimport: Error: 13, Can't get stat of '/data/codebase/a.txt' (Errcode: 2 "No such file or directory"), when using table: a
默認(rèn)是找mysql庫(kù)所在云服務(wù)器的/tmp目錄下的文件,而不是執(zhí)行命令的機(jī)器。
加 --local 參數(shù),表示指定的導(dǎo)入文件是執(zhí)行命令的機(jī)器。
對(duì)于以上關(guān)于普通數(shù)據(jù)文件導(dǎo)入mysql出現(xiàn)問(wèn)題如何處理,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專(zhuān)業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)?lái)一定的知識(shí)更新。