我爱编程

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

2017-03-09  本文已影响0人  izhangxm

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

一、安装

环境:OX EI Capitan,10.11

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

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

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

echo $PATH
PATH="$PATH":/usr/local/mysql/bin
mysql -u root -p
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

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

mysql> show create database tiantian;
LOAD DATA LOCAL INFILE '/Users/Shared/Issuer_IssuerParent.txt' INTO TABLE issuerTian character set utf8 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
select * from issuerTian

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

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

select * from issuerTian4 where issuer1=ISSUERPARENT1;

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

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

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

附录:

一、基础命令

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

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

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

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

/usr/local/mysql/bin/mysqladmin -u root password

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

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;
@>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>登录成功
@>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;
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
上一篇下一篇

猜你喜欢

热点阅读