Mac mysql安装、配置、导入中文表格、搜索

转载自 http://www.jianshu.com/p/2402ae260cbc 转载请注明出处

一、安装

环境:OX EI Capitan,10.11

网上有无数教程,不加赘述,但有一坑:

-Mac安装Sql,会在安装时用一个小框提示初始密码。千万把这个密码拷贝下来,等下备用。

之后需要涉及登录等基础命令,请查看文末附录。

  • Note 1:
    不知道为什么,用 /usr/local/mysql/bin/mysql-u root -p 会提示找不到路径,但用以下命令可以解决:
echo $PATH
PATH="$PATH":/usr/local/mysql/bin
mysql -u root -p
  • Note 2: 重设密码总遇见权限问题,试了以下方法,其中一种可以
UPDATEmysql.userSETPassword=PASSWORD(‘your-new-password’)WHEREUser='root';
SETPASSWORD=PASSWORD(‘your-new-password’);
SET PASSWORD FOR 'root'@'localhost' = PASSWORD(‘your-new-password’);

二、配置图形界面

用的是SQuirrel SQL,官网上下dmg文件,要配置JDK文件,这些按部就班来就可以。但配置时仍有一坑,有一个Java文件是缺失的,文件名是这货:

mysql-connector-java-5.1.38-bin.jar

网上下载它,而后放到任意位置,之后要在配置时手动补充路径。

三、创建数据库和表

大同小异,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,密码,库的名字,而后打开。

五、中文显示问题

真是一把辛酸泪。用如下普通的导入命令,你会看到一堆乱码。

LOAD DATA LOCAL INFILE '/Users/Shared/Issuer_IssuerParent.csv' INTO TABLE issuerTian FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

(.csv 导入问题参见:http://www.mysqltutorial.org/import-csv-file-mysql-table/

我也不知道utf-8是什么,但网上关于中文显示的解决方法都说要把系统编码指定为utf-8. 这个指定可以对系统、库、表格,甚至可以针对字段,大致命令是这样的:

ALTER TABLE issuerTian MODIFY issuerParent2 varchar(100) CHARACTER SET utf8

但是,试了之后还是乱码。不多说,开始讲解决方案。

  • 1、用 .txt打开你的 .csv 文件,在保存时指定格式为utf-8,存成txt或者csv都可以;
  • 2、把你的系统也用上面那个命令设成utf-8. 验证设置成功与否,可用语句,看看返回的结果(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、见证奇迹的时刻到了,敲下面代码,点击奔跑的小人,中文有木有!(此处应有掌声)
select * from issuerTian

六、接下来就可以愉快地搞你的数据库了

比如这样,你就可以把两个字段里一样的保留下来;

select * from issuerTian4 where issuer1=ISSUERPARENT1;

再比如这样,这个就是跨表查询;

select * from issuerTian4 where issuerPARENT1 in (SELECT NAME FROM ISSUERTIAN5);

啊,喵,写完了。真是呕心沥血啊,啊,喵。

附录:

一、基础命令

  • 启动mysql服务
    1、如果你已经安装了MySQLStartupItem.pkg,重新启动电脑即可。
    2、如果你有安装MySQLStartupItem.pkg或者不想启动电脑,运行:应用程序-实用工具-终端,在终端中输入命令:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

然后输入你的系统管理员密码即可。

  • 关闭mysql服务
    终端中输入命令:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

然后输入你的系统管理员密码即可。
你也可以去系统偏好设置-其他-MySQL,通过这个来启动和停止MySQL服务。

  • 更改mysql root账户密码
    终端中输入命令:
/usr/local/mysql/bin/mysqladmin -u root password

新密码
你可以随时使用这条命令更改你的密码。

  • 终端登录mysql
    方法1:绝对路径
    终端中输入命令:/usr/local/mysql/bin/mysql-u root -p
    提示:输入你的新密码
  • 方法2:(推荐)添加PATH变量
    查看路径中有没有需要的路径:
    终端中输入命令:echo $PATH
    没有,继续
    添加需要路径:PATH="$PATH":/usr/local/mysql/bin
    终端中需输入命令:mysql-u root -p即可
    如果想永久有效,将
export PATH="$PATH":/usr/local/mysql/bin

添加到 ~/.bashrc 的最后一行

二.创建用户 分配权限

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
@>密码

创建用户

mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));

刷新系统权限表

mysql>flush privileges;

这样就创建了一个名为:phplamp密码为:1234的用户。
然后登录一下。

mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
  • 2.为用户授权。
    登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码

首先为用户创建一个数据库(phplampDB)

mysql>create database phplampDB;
授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';

刷新系统权限表

mysql>flush privileges;
mysql>其它操作

如果想指定部分权限给一用户,可以这样来写:

mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';

//刷新系统权限表。

mysql>flush privileges;
  • 3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容