1衷畦、mysql安裝及環(huán)境變量配置
(1)安裝mysql
A妇斤、安裝包下載:
https://www.mysql.com/downloads/摇锋,點(diǎn)擊頁面底部導(dǎo)航中“Mysql community server”丹拯,進(jìn)入下載頁,下載dmg文件乱投。
B咽笼、安裝
一步步跟著來就行
在configuration時(shí),由于只是自己測(cè)試時(shí)用下mysql戚炫,所以可以選擇use legacy password encryption剑刑。
(如果選擇use strong password encryption,在使用navicat連接mysql時(shí)双肤,會(huì)報(bào)無法加載身份驗(yàn)證錯(cuò)誤施掏。看的別人寫的茅糜,自己沒試過選擇這個(gè)選項(xiàng))
(2)配置環(huán)境變量
配置環(huán)境變量七芭,使我們可以在任何目錄下執(zhí)行mysql命令
A、終端輸入:sudo vim /etc/profile蔑赘;
B狸驳、在文件最后輸入:export PATH=$PATH:/usr/local/mysql/bin;
C缩赛、退出vim時(shí)耙箍,因?yàn)檫@個(gè)文件打開是只讀格式的,需要輸入“:wq!”酥馍,強(qiáng)制保存并退出辩昆;
D、然后執(zhí)行profile文件使其生效:source /etc/profile旨袒;
這樣配置后我們可以在任何目錄下執(zhí)行mysql -u root -p命令進(jìn)入mysql
(3)啟動(dòng)mysql
打開系統(tǒng)偏好設(shè)置汁针,點(diǎn)擊mysql,開啟mysql服務(wù)
2砚尽、新建數(shù)據(jù)庫(kù)和新建表
mysql -u root -p進(jìn)入mysql
(1)新建數(shù)據(jù)庫(kù)
A施无、新建數(shù)據(jù)庫(kù)
create datebase db_name;
B、顯示出所有數(shù)據(jù)庫(kù)
show datebases;
C必孤、選擇數(shù)據(jù)庫(kù)
use db_name;
D帆精、刪除數(shù)據(jù)庫(kù)
drop database db_name;
(2)新建表
創(chuàng)建并選擇數(shù)據(jù)庫(kù)后,新建表
create table table_name
(
? ? id?int(11),
? ? ?name? varchar(256),
? ? primary key (id)
)engine=innodb default charset=utf8;
3隧魄、導(dǎo)入txt格式文件
導(dǎo)入文件時(shí)遇到比較多坑卓练,最后把可以成功導(dǎo)入的過程記錄下來
(1)設(shè)置txt文件權(quán)限
sudo chown -R mysql 文件所在目錄地址
如果不設(shè)置權(quán)限可能會(huì)報(bào)錯(cuò)ERROR 13 (HY000): Can't get stat of '文件地址' (OS errno 13 - Permission denied)
(2)設(shè)置mysql的secure_file_priv值
這個(gè)參數(shù)用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個(gè)指定目錄。
A购啄、默認(rèn)情況下襟企,secure_file_priv是null,表示不允許導(dǎo)入導(dǎo)出
B狮含、secure_file_priv為指定文件夾時(shí)顽悼,表示mysql的導(dǎo)入導(dǎo)出只能發(fā)生在指定的文件夾
C曼振、secure_file_priv設(shè)置為''空時(shí),則表示沒有任何限制
使用load導(dǎo)入txt文件時(shí)會(huì)報(bào)錯(cuò):
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
解決辦法:
sudo vim /etc/my.cnf(如果etc目錄下不存在my.cnf文件蔚龙,則直接新建my.cnf文件)
在my.cnf中加入以下三行冰评,將secure_file_priv參數(shù)設(shè)置為空
[mysqld_safe]
[mysqld]
secure_file_priv=""
(3)導(dǎo)入文件
load data infile 'txt文件地址' into table table_name;
(txt文件以空格分割)