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;

你可能感兴趣的:(Mac mysql安装、配置、导入中文表格、搜索)