美文网首页
Mac安装MySQL步骤及遇到的问题

Mac安装MySQL步骤及遇到的问题

作者: fou7 | 来源:发表于2017-06-16 13:33 被阅读1331次

    安装

    MySQL下载地址,下载好后直接安装。

    打开控制台,输入mysql --version查看MySQL版本。

    如果提示-bash:mysql:command not found,是因为由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,就会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

    执行命令ln -s /usr/local/mysql/bin/mysql /usr/bin
    sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin

    如果出现ln: /usr/bin/mysql: Permission denied,在这段命令前面加入sudo,然后键入密码即可。

    再输入mysql --version,控制台会输出mysql Ver 14.14 Distrib 5.6.36, for macos10.12 (x86_64) using EditLine wrapper,完成。

    使用Navicat操作MySQL

    向数据库中插入数据时可能会造成乱码的问题,比如插入中文字符小明存储到数据库里,小明就变成了??

    1.先检查MySQL编码

    执行如下命令:
    mysql -u root -p 键入数据库密码 show variables like '%char%';

    控制台输出

    看到utf8字样就表示编码设置正确。

    2.如果无效,再检查Navicat编码

    我们在使用Navicat创建连接时,就应该指定编码格式,默认是自动的,把编码格式由自动修改为utf-8

    创建连接 修改编码格式

    创建完成。

    3.测试

    使用Navicat新建Student表,包含两个字段,int类型的stu_idvarchar类型的stu_name

    使用Navicat新建查询,编写sql语句insert into Student (stu_id, stu_name) values (1, '使用MySQL');

    查看Student表的数据,如下:


    Student表数据

    正常了。

    4.最后

    有一个需要注意的点是要保证MySQL和Navicat的编码格式相同。

    Python使用MySQL

    如果你安装的是python3.x以上的版本,需要使用PyMySQL 连接数据库。

    1.什么是 PyMySQL?

    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
    PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

    2.安装PyMySQL

    在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。如果没有安装,在控制台中输入命令pip3 install PyMySQL

    3.使用PyMySQL
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import pymysql
    
    # 打开数据库连接
    conn = pymysql.connect(user='root', password='', database='test',charset='utf8',host='127.0.0.1',port=3306)
    
    # 获取游标
    cursor = conn.cursor()
    
    # 执行sql
    cursor.execute('insert into Student (stu_id, stu_name) values (%s, %s)',['1', 'Jack'])
    
    # 查看sql执行是否成功
    print(cursor.rowcount)
    
    # 提交事务
    conn.commit()
    
    # 关闭游标
    cursor.close()
    
    # 关闭连接
    conn.close()
    

    打开Navicat,查看Student表,如下:

    Student Table

    如果stu_name是中文字符串,就需要对stu_name使用encode()进行utf-8编码。

    相关文章

      网友评论

          本文标题:Mac安装MySQL步骤及遇到的问题

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