美文网首页我爱编程
Mac mysql安装、配置、导入中文表格、搜索

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

作者: izhangxm | 来源:发表于2017-03-09 09:03 被阅读0次

    转载自 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安装、配置、导入中文表格、搜索

        本文链接:https://www.haomeiwen.com/subject/xdfwgttx.html