轉(zhuǎn)載自 http://www.lxweimin.com/p/2402ae260cbc 轉(zhuǎn)載請注明出處
一、安裝
環(huán)境:OX EI Capitan,10.11
網(wǎng)上有無數(shù)教程,不加贅述,但有一坑:
-Mac安裝Sql,會(huì)在安裝時(shí)用一個(gè)小框提示初始密碼。千萬把這個(gè)密碼拷貝下來,等下備用。
之后需要涉及登錄等基礎(chǔ)命令,請查看文末附錄。
- Note 1:
不知道為什么,用 /usr/local/mysql/bin/mysql-u root -p 會(huì)提示找不到路徑,但用以下命令可以解決:
echo $PATH
PATH="$PATH":/usr/local/mysql/bin
mysql -u root -p
- Note 2: 重設(shè)密碼總遇見權(quán)限問題,試了以下方法,其中一種可以
UPDATEmysql.userSETPassword=PASSWORD(‘your-new-password’)WHEREUser='root';
SETPASSWORD=PASSWORD(‘your-new-password’);
SET PASSWORD FOR 'root'@'localhost' = PASSWORD(‘your-new-password’);
二、配置圖形界面
用的是SQuirrel SQL,官網(wǎng)上下dmg文件,要配置JDK文件,這些按部就班來就可以。但配置時(shí)仍有一坑,有一個(gè)Java文件是缺失的,文件名是這貨:
mysql-connector-java-5.1.38-bin.jar
網(wǎng)上下載它,而后放到任意位置,之后要在配置時(shí)手動(dòng)補(bǔ)充路徑。
三、創(chuàng)建數(shù)據(jù)庫和表
大同小異,copy一下我的命令,是在terminal敲的
mysql> CREATE DATABASE tian;
-> use tian;
-> CREATE TABLE nameTian (idnr VARCHAR(20),name VARCHAR(100),natacr VARCHAR(100),nat_prim_codeVARCHAR(10),sd_ticker VARCHAR(20),city VARCHAR(100),region VARCHAR(100),category VARCHAR(20),guoiso VARCHAR(5));
-> CREATE TABLE issuerTian (id INT,issuer1 VARCHAR(100),issuer2 VARCHAR(100),issuerParent1 VARCHAR(100),issuerParent2 VARCHAR(100));
(詳情參見http://dev.mysql.com/doc/refman/5.7/en/creating-database.html)
四、在SQuirrel SQL中加載
點(diǎn)擊左上方的Aliases,用戶名root,密碼,庫的名字,而后打開。
五、中文顯示問題
真是一把辛酸淚。用如下普通的導(dǎo)入命令,你會(huì)看到一堆亂碼。
LOAD DATA LOCAL INFILE '/Users/Shared/Issuer_IssuerParent.csv' INTO TABLE issuerTian FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
(.csv 導(dǎo)入問題參見:http://www.mysqltutorial.org/import-csv-file-mysql-table/)
我也不知道utf-8是什么,但網(wǎng)上關(guān)于中文顯示的解決方法都說要把系統(tǒng)編碼指定為utf-8. 這個(gè)指定可以對系統(tǒng)、庫、表格,甚至可以針對字段,大致命令是這樣的:
ALTER TABLE issuerTian MODIFY issuerParent2 varchar(100) CHARACTER SET utf8
但是,試了之后還是亂碼。不多說,開始講解決方案。
- 1、用 .txt打開你的 .csv 文件,在保存時(shí)指定格式為utf-8,存成txt或者csv都可以;
- 2、把你的系統(tǒng)也用上面那個(gè)命令設(shè)成utf-8. 驗(yàn)證設(shè)置成功與否,可用語句,看看返回的結(jié)果(tiantian是我的庫名,不要照抄呀);
mysql> show create database tiantian;
- 3、load命令也需要指明utf-8;
LOAD DATA LOCAL INFILE '/Users/Shared/Issuer_IssuerParent.txt' INTO TABLE issuerTian character set utf8 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
- 4、見證奇跡的時(shí)刻到了,敲下面代碼,點(diǎn)擊奔跑的小人,中文有木有?。ù颂帒?yīng)有掌聲)
select * from issuerTian
六、接下來就可以愉快地搞你的數(shù)據(jù)庫了
比如這樣,你就可以把兩個(gè)字段里一樣的保留下來;
select * from issuerTian4 where issuer1=ISSUERPARENT1;
再比如這樣,這個(gè)就是跨表查詢;
select * from issuerTian4 where issuerPARENT1 in (SELECT NAME FROM ISSUERTIAN5);
啊,喵,寫完了。真是嘔心瀝血啊,啊,喵。
附錄:
一、基礎(chǔ)命令
- 啟動(dòng)mysql服務(wù)
1、如果你已經(jīng)安裝了MySQLStartupItem.pkg,重新啟動(dòng)電腦即可。
2、如果你有安裝MySQLStartupItem.pkg或者不想啟動(dòng)電腦,運(yùn)行:應(yīng)用程序-實(shí)用工具-終端,在終端中輸入命令:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
然后輸入你的系統(tǒng)管理員密碼即可。
- 關(guān)閉mysql服務(wù)
終端中輸入命令:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
然后輸入你的系統(tǒng)管理員密碼即可。
你也可以去系統(tǒng)偏好設(shè)置-其他-MySQL,通過這個(gè)來啟動(dòng)和停止MySQL服務(wù)。
- 更改mysql root賬戶密碼
終端中輸入命令:
/usr/local/mysql/bin/mysqladmin -u root password
新密碼
你可以隨時(shí)使用這條命令更改你的密碼。
- 終端登錄mysql
方法1:絕對路徑
終端中輸入命令:/usr/local/mysql/bin/mysql-u root -p
提示:輸入你的新密碼 - 方法2:(推薦)添加PATH變量
查看路徑中有沒有需要的路徑:
終端中輸入命令:echo $PATH
沒有,繼續(xù)
添加需要路徑:PATH="$PATH":/usr/local/mysql/bin
終端中需輸入命令:mysql-u root -p
即可
如果想永久有效,將
export PATH="$PATH":/usr/local/mysql/bin
添加到 ~/.bashrc 的最后一行
二.創(chuàng)建用戶 分配權(quán)限
grant all privileges on *.* to 'user'@'localhost' with grant option
grant all privileges on *.* to 'user'@'localhost' identified by '123456′;
flush privileges;
- 1.新建用戶。
登錄MYSQL
@>mysql -u root -p
@>密碼
創(chuàng)建用戶
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
刷新系統(tǒng)權(quán)限表
mysql>flush privileges;
這樣就創(chuàng)建了一個(gè)名為:phplamp密碼為:1234的用戶。
然后登錄一下。
mysql>exit;
@>mysql -u phplamp -p
@>輸入密碼
mysql>登錄成功
- 2.為用戶授權(quán)。
登錄MYSQL(有ROOT權(quán)限)。我里我以ROOT身份登錄.
@>mysql -u root -p
@>密碼
首先為用戶創(chuàng)建一個(gè)數(shù)據(jù)庫(phplampDB)
mysql>create database phplampDB;
授權(quán)phplamp用戶擁有phplamp數(shù)據(jù)庫的所有權(quán)限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
刷新系統(tǒng)權(quán)限表
mysql>flush privileges;
mysql>其它操作
如果想指定部分權(quán)限給一用戶,可以這樣來寫:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系統(tǒng)權(quán)限表。
mysql>flush privileges;
- 3.刪除用戶。
@>mysql -u root -p
@>密碼
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//刪除用戶的數(shù)據(jù)庫
mysql>drop database phplampDB;
- 4.修改指定用戶密碼。
@>mysql -u root -p
@>密碼
mysql>update mysql.user set password=password('新密碼') where User="phplamp" and Host="localhost";
mysql>flush privileges;