一、安裝
環(huán)境:OX EI Capitan澜建,10.11
網(wǎng)上有無數(shù)教程向挖,不加贅述,但有一坑:
-Mac安裝Sql炕舵,會在安裝時用一個小框提示初始密碼何之。千萬把這個密碼拷貝下來,等下備用咽筋。
之后需要涉及登錄等基礎(chǔ)命令溶推,請查看文末附錄。
#Note 1:
不知道為什么,用 /usr/local/mysql/bin/mysql-u root -p 會提示找不到路徑蒜危,但用以下命令可以解決:
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文件响委,這些按部就班來就可以新思。但配置時仍有一坑,有一個Java文件是缺失的赘风,文件名是這貨:
mysql-connector-java-5.1.38-bin.jar
網(wǎng)上下載它表牢,而后放到任意位置,之后要在配置時手動補充路徑贝次。
三崔兴、創(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中加載
點擊左上方的Aliases,用戶名root山析,密碼堰燎,庫的名字,而后打開笋轨。
五秆剪、中文顯示問題
真是一把辛酸淚。用如下普通的導(dǎo)入命令爵政,你會看到一堆亂碼仅讽。
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. 這個指定可以對系統(tǒng)钾挟、庫洁灵、表格,甚至可以針對字段掺出,大致命令是這樣的:
ALTER TABLE issuerTian MODIFY issuerParent2 varchar(100) CHARACTER SET utf8
但是徽千,試了之后還是亂碼。不多說汤锨,開始講解決方案双抽。
1、用 .txt打開你的 .csv 文件闲礼,在保存時指定格式為utf-8牍汹,存成txt或者csv都可以琅翻;
2、把你的系統(tǒng)也用上面那個命令設(shè)成utf-8. 驗證設(shè)置成功與否柑贞,可用語句方椎,看看返回的結(jié)果(tiantian是我的庫名);
mysql> show create database tiantian;
3钧嘶、建表和load命令也需要指明utf-8棠众;
CREATE TABLE left4(
name VARCHAR (100),
left4 VARCHAR (100)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
LOAD DATA LOCAL INFILE '/Users/Shared/Issuer_IssuerParent.txt' INTO TABLE issuerTian character set utf8 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
4、見證奇跡的時刻到了有决,敲下面代碼闸拿,點擊奔跑的小人,中文有木有J槟弧(此處應(yīng)有掌聲)
select * from issuerTian
六新荤、接下來就可以愉快地搞你的數(shù)據(jù)庫了
比如這樣,你就可以把兩個字段里一樣的保留下來台汇;
select * from issuerTian4 where issuer1=ISSUERPARENT1;
再比如這樣苛骨,這個就是跨表查詢;
select * from issuerTian4 where issuerPARENT1 in (SELECT NAME FROM ISSUERTIAN5);
啊苟呐,喵痒芝,寫完了。真是嘔心瀝血啊牵素,啊严衬,喵。
附錄:基礎(chǔ)命令
啟動mysql服務(wù)
1笆呆、如果你已經(jīng)安裝了MySQLStartupItem.pkg请琳,重新啟動電腦即可。
2赠幕、如果你有安裝MySQLStartupItem.pkg或者不想啟動電腦俄精,運行:應(yīng)用程序-實用工具-終端,在終端中輸入命令:sudo /Library/StartupItems/MySQLCOM/MySQLCOM start劣坊,然后輸入你的系統(tǒng)管理員密碼即可嘀倒。
關(guān)閉mysql服務(wù)
終端中輸入命令:sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop,然后輸入你的系統(tǒng)管理員密碼即可局冰。
你也可以去系統(tǒng)偏好設(shè)置-其他-MySQL,通過這個來啟動和停止MySQL服務(wù)灌危。
更改mysql root賬戶密碼
終端中輸入命令:/usr/local/mysql/bin/mysqladmin -u root password 新密碼
你可以隨時使用這條命令更改你的密碼康二。
終端登錄mysql
終端登錄mysql
方法1:絕對路徑
終端中輸入命令:/usr/local/mysql/bin/mysql-u root -p
提示:輸入你的新密碼
方法2:(推薦)相對路徑
終端中輸入命令:
查看路徑中有沒有需要的路徑:
終端中輸入命令:echo $PATH
沒有,繼續(xù)
添加需要路徑:PATH="$PATH":/usr/local/mysql/bin
以后
終端中需輸入命令:mysql-u root -p即可
二.創(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)建了一個名為:phplamp密碼為:1234的用戶沫勿。
然后登錄一下。
mysql>exit;
@>mysql -u phplamp -p
@>輸入密碼
mysql>登錄成功
2.為用戶授權(quán)。
登錄MYSQL(有ROOT權(quán)限)产雹。我里我以ROOT身份登錄.
@>mysql -u root -p
@>密碼
首先為用戶創(chuàng)建一個數(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;