本文已停止更新,点击此链接查看本文最新内容 !!!

前言

  • MySQL 关系型数据库管理系统。

1、配置准备工作

  • 1)配置数据库准备工作

  • 2)配置数据库注意事项

    • 提前下载好相关软件,且安装目录最好安装在全英文路径下。如果路径有中文名,那么可能会出现一些莫名其妙的问题。
  • 3)示例配置环境

    • macOS 10.11.6
    • macOS 10.13.3

2、下载安装 MySQL

  • 下载安装 MySQL 可以按照下面步骤使用二进制 PGK 包安装,或者用 Homebrew 使用以下的命令安装。

    # 安装 MySQL
    $ brew install mysql

2.1 下载 MySQL

  • 访问 MySQL 官网,然后在页面中会看到 “MySQL Community Server” 下方有一个 “DOWNLOAD” 点击。

  • 进入 MySQL 的下载界面,如果用的是 Mac OS 来访问的话那么就会默认为你选好了 Mac OS X 平台,而下面罗列的都是在 Mac OS 上能用的 MySQL 的版本,如果是用的其他平台,在 “Select Platform” 选项的下拉列表中选一下就好了。

  • 在 Mac OS 上的 MySQL 的版本很多,其中有按平台来的,比如 10.5/10.6 等平台,然后有 32 位的和 64 位的,这个你按照自己系统的情况来进行选择,然后就是文件的后缀名有 .tar.gz 的和 .dmg 的,这里我选择的是 .dmg 的。点击右侧的 Download 进行下载。

  • 然后会跳转到另外一个界面,这个界面是提示你需不需要注册的,直接选择最下面的 “No thanks, just start my download.”,然后进行下载就 OK 了。

2.2 安装 MySQL

  • MySQL server 安装在目录 /usr/local/mysql 下面,子目录 /usr/local/mysql/bin 中包含了 MySQL server 的可执行脚本命令,同时,MySQL server 安装了一个配置程序,方便我们开启/关闭 MySQL 数据库服务器。

  • 打开 MySQL 的安装包,双击 pkg 文件安装。

  • 一路向下,记得保存最后弹出框中的密码,它是你的 MySQL root 账号的密码。

  • 对于 MySQL 8 及以上的版本,在安装过程中不要选择使用强用户密码(Use Strong Password Encryption),否则可能都是其它数据库管理软件无法建立连接,要选择使用旧的的密码方式(Use Legacy Password Encryption)。

  • 安装完成后在系统偏好设置的最下边会出现 MySQL 图标。

  • 点击图标,进入 MySQL 偏好设置,开启 MySQL Server 服务。

2.3 添加系统环境变量

  • 如果使用终端命令使用 MySQL 数据库,需要将其添加到系统环境变量中。

  • 1)查看是否已添加了系统环境变量中

    • 在终端中输入以下命令。

      # 登录数据库,-u 表示登录的用户名,-p 表示登录的密码
      $ mysql -u[用户名] -p
      $ mysql -uroot -p
    • 如果没有设置环境变量,终端会输出如下信息,这说明我们还需要将 MySQL 加入系统环境变量。

      -bash: mysql: command not found
  • 2)查看 MySQL 安装路径

    • 在终端输入以下命令。

      $ cd /usr/local/mysql/bin && ls
    • 查看此目录下是否有 MySQL,如下图所示。

  • 3)添加系统环境变量

    • 在终端输入以下命令,打开系统环境变量配置文件。

      # 打开环境变量配置文件
      $ vim ~/.bash_profile
    • 在该文件中添加 mysql/bin 的目录,如下图所示。

      export PATH=$PATH:/usr/local/mysql/bin
      export PATH=$PATH:/usr/local/mysql/support-files
      • macOS 10.13.3 截图

      • macOS 10.12 截图

    • 添加完成后,按 esc,然后输入 :wq 保存退出。

    • 最后在终端输入以下命令,使配置生效。

      # 使环境变量配置生效
      $ source ~/.bash_profile
  • 4)登录 MySQL

    • 现在你就可以通过 mysql -uroot -p 登录 MySQL 了,登录过程中会让你输入 MySQL root 用户的密码。

    • 打开一个新的终端,在终端中输入以下命令,登录 MySQL。

      # 登录数据库,-u 表示登录的用户名,-p 表示登录的密码
      $ mysql -u[用户名] -p
      $ mysql -uroot -p
    • 输入密码登录成功后终端会输出如下信息。

      Welcome to the MySQL monitor. Commands end with ; or \g.
      Your MySQL connection id is 125
      Server version: 5.7.17 MySQL Community Server (GPL)
      Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
      Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  • 5)退出 MySQL

    • 在终端输入以下命令,退出 MySQL。

      # 退出 MySQL
      > exit

3、修改 root 账户密码

  • 1)登录 MySQL

    • 在终端中输入以下命令,登录 MySQL。

      # 登录数据库,-u 表示登录的用户名,-p 表示登录的密码
      $ mysql -u[用户名] -p
      $ mysql -uroot -p
    • 输入原 root 账户密码,登录成功后终端会输出以下信息。

      Welcome to the MySQL monitor. Commands end with ; or \g.
      Your MySQL connection id is 125
      Server version: 5.7.17 MySQL Community Server (GPL)
      Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
      Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    • 如果终端输出以下提示,需按照本文中介绍将 mysql 添加到系统环境变量。

      -bash: mysql: command not found
  • 2)修改密码

    • 登录成功后,可以通过下面的命令修改密码。

      # SET PASSWORD FOR '用户名'@'服务器地址' = PASSWORD('新的密码');
      > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新的密码');
  • 3)退出 MySQL

    • 在终端输入以下命令,退出 MySQL。

      # 退出 MySQL
      > exit

4、重置 root 账户密码

  • 1)关闭 MySQL Server 服务

    • 苹果 => 系统偏好设置 => 最下边点 MySQL,在弹出页面中关闭 MySQL Server 服务(点击 Stop MySQL Server)。
  • 2)登录管理员权限

    • 在终端输入以下命令,切换到 MySQL 安装路径。

      # 苹果系统下 MySQL server 的安装路径
      $ cd /usr/local/mysql/bin/
    • 回车后,在终端输入以下命令,登录管理员权限。

      # 登录管理员权限
      $ sudo su
    • 输入 Mac 管理员密码,回车后,终端会输出以下信息。

      sh-3.2#
  • 3)禁止 MySQL 验证功能

    • 在终端输入以下命令,禁止 MySQL 验证功能。

      # 禁止 MySQL 验证功能
      ./mysqld_safe --skip-grant-tables &
    • 回车后 MySQL 会自动重启(偏好设置中 MySQL 的状态会变成 running),终端会输出以下信息。

      [1] 14941
      sh-3.2# Logging to '/usr/local/mysql-5.7.21-macos10.13-x86_64/data/bogon.err'.
      2018-02-23T09:15:46.6NZ mysqld_safe Starting mysqld daemon with databases
      from /usr/local/mysql-5.7.21-macos10.13-x86_64/data
  • 4)登录 MySQL

    • 在终端中输入以下命令,登录 MySQL。

      # 登录 MySQL
      ./mysql
    • 回车后,终端会输出以下信息。

      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 207
      Server version: 5.7.21 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
  • 5)重置 MySQL 权限

    • 在终端输入以下命令,重置 MySQL 权限。

      > FLUSH PRIVILEGES;
    • 回车后,终端会输出以下信息。

      Query OK, 0 rows affected (0.03 sec)
  • 6)设置新的密码

    • 在终端输入以下命令,设置新的密码。

      # SET PASSWORD FOR '用户名'@'服务器地址' = PASSWORD('新的密码');
      > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新的密码');
    • 回车后,终端会输出以下信息。

      Query OK, 0 rows affected, 1 warning (0.01 sec)
  • 7)退出 MySQL

    • 在终端输入以下命令,退出 MySQL。

      # 退出 MySQL
      > exit
    • 在终端输入以下命令,退出管理员权限。

      # 退出管理员权限
      exit
    • 以上几步完成后密码就修改成功了,现在就可以用新设置的密码去登陆 MySQL 了。

5、删除匿名用户

  • 很多 MySQL 程序都会带有匿名登录的功能。在刚刚安装完 MySQL 之后,就能够登录数据库啦。这对于平时使用 MySQL 来说也基本没有什么,可是假设我们想部署数据库的时候,这样的登录方式是绝对不能存在的。

  • 或者在登录时如果提示以下信息,原因是 MySQL 中存在一个匿名用户,如果我们不删除匿名用户,即使使用其他用户登录,都会自动跳转使用匿名用户登录。

    Access denied for user ''@'localhost' to database 'mysql'
  • 解决方法如下。

  • 1)匿名登录数据库

    • 在终端输入以下命令,匿名登录数据库。

      # 匿名登录数据库
      $ mysql -u root -p
    • 输入密码回车后,终端会输出以下信息。

      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 952
      Server version: 5.7.21 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
  • 2)切换数据库

    • 然后切换数据库,进入我们须要操作的数据库 MySQL。

      # 切换数据库
      > use mysql
    • 回车后,终端会输出以下信息。

      Reading table information for completion of table and column names
      You can turn off this feature to get a quicker startup with -A Database changed
  • 3)查看数据库用户

    • 删除之前我们先查看一下数据库的用户表,看看用户的存在情况

      # 查看数据库用户
      > select user, host from user;
    • 回车后,终端会输出以下信息。

      +------+-----------------------+
      | user | host |
      +------+-----------------------+
      | root | 127.0.0.1 |
      | | localhost |
      | root | localhost |
      | | localhost.localdomain |
      | root | localhost.localdomain |
      +------+-----------------------+
      5 rows in set (0.00 sec)
    • 我们看到啦,在 user 这一列有的行是空的,这就是那个匿名用户。

  • 4)删除匿名用户

    • 在终端输入以下命令,删除匿名用户。

      # 删除指定的数据库用户
      > delete from user where user='';
    • 回车后,终端会输出以下信息。

      Query OK, 2 rows affected (0.00 sec)
    • 此时运行的状态显示我们删除了两行数据,然后运行一边查询命令,确认一下是不是真的删除成功。

      # 查看数据库用户
      > select user, host from user;
    • 回车后,终端会输出以下信息,已经成功删除啦。

      +------+-----------------------+
      | user | host |
      +------+-----------------------+
      | root | 127.0.0.1 |
      | root | localhost |
      | root | localhost.localdomain |
      +------+-----------------------+
      3 rows in set (0.00 sec)

6、卸载 MySQL

  • Mac 下 MySQL 的 dmg 格式安装内有安装文件,却没有卸载文件,如果要卸载 MySQL,需要手动去删。

  • 先在 MySQL 的偏好设置中,停止所有 MySQL Server 服务。

  • 然后在终端中输入以下命令。

    sudo rm /usr/local/mysql
    
    sudo rm -rf /usr/local/mysql*
    sudo rm -rf /Library/StartupItems/MySQLCOM
    sudo rm -rf /Library/PreferencePanes/My* vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-) rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql*
    sudo rm -rf /Library/Receipts/MySQL*
    sudo rm -rf /var/db/receipts/com.mysql.*

Mac MySQL 数据库配置(关系型数据库管理系统)的更多相关文章

  1. Mac MySQL 数据库管理(关系型数据库管理系统)

    1.管理准备工作 1)管理数据库准备工作 下载相关软件 mysql-workbench-community-6.3.10-macos-x86_64.dmg Oracle 官网 MySQL 官网 MyS ...

  2. SQLite vs MySQL vs PostgreSQL:关系型数据库比较

    自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛.面对如此之多的关系型数据库,我们应该如何权衡找出适合自己应用场景 ...

  3. 初识MySQL,关系型数据库&非关系型数据库

    初识MySQL,关系型数据库&非关系型数据库 数据库的分类: 关系型数据库:(SQL) MySQL,Oracle,Sql Server,DB2,SQLlite 通过表和表之间,行和列之间的关系 ...

  4. mac mysql 编码配置

    mac mysql 编码配置 (mysql目录下没有my.cnf) 想要修改编码发现自己的/usr/local/mysql/support-files里面根本没有my.cnf 安装方式是去mysql官 ...

  5. Flink RichSourceFunction应用,读关系型数据(mysql)数据写入关系型数据库(mysql)

    1. 写在前面 Flink被誉为第四代大数据计算引擎组件,即可以用作基于离线分布式计算,也可以应用于实时计算.Flink的核心是转化为流进行计算.Flink三个核心:Source,Transforma ...

  6. mac mysql环境配置

    安装mysql:http://www.mysql.com/downloads/ 找到 MySQL Community Edition (GPL) Community (GPL) Downloads » ...

  7. MAC MySQL安装配置

    1. 下载 下载地址:https://dev.mysql.com/downloads/mysql/ 注意选择对应的版本,M系列芯片对应ARM 2. 安装 参考官网教程, 点击地址查看, 一直点击继续即 ...

  8. mongo数据库--非关系型数据库

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFuZ2xpdXFpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  9. mySQL (关系型数据库管理系统)

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...

  10. MySQL(一) -- MySQL学习路线、数据库的基础、关系型数据库、关键字说明、SQL、MySQL数据库、MySQL服务器对象、SQL的基本操作、库操作、表操作、数据操作、中文数据问题、 校对集问题、web乱码问题

    1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实 ...

随机推荐

  1. private static final long serialVersionUID = 1L这句话到底什么意思?

    变量serialVersionUID称为序列化版本号,这个变量多用于实现了Serializable的类中,试用场景是类的序列化.当我们没有定义这个变量的时候,虚拟机会根据类的属性算出一个独一无二的该变 ...

  2. 【Java】 剑指offer(13) 剪绳子

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 给你一根长度为n绳子,请把绳子剪成m段(m.n都是整数,n> ...

  3. 汇编之 eax, ebx, ecx, edx, esi, edi, ebp, esp??

    一般寄存器:AX.BX.CX.DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI.DISI:来源索引暂存器,DI:目的索引暂存器 堆叠.基底暂存器:SP.BP ...

  4. Python 导入requests报错No module named requests

    刚开始是在Pycharm里面,发现就是不对,导入老提示No module named requests这个错误.后面发现是指向的python.exe路径不对,到setting里面设置换一下路径就好.

  5. NumPy学习(索引和切片,合并,分割,copy与deep copy)

    NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...

  6. Linux/Window 正斜杠 反斜杠

    文件目录结构: Linux 是用正斜杠 目录名区分大小写 Window 是用反斜杠 目录名不区分大小写

  7. Linux配置Redis外网访问

    下载:redis-3.2.5.tar.gz 拷贝到指定目录解压:tar -xzvf redis-3.2.5.tar.gz 进入到解压目录redis-3.2.5下安装: makemake install ...

  8. C#获得窗口控件句柄

    /*整个Windows编程的基础.一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条, ...

  9. php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...

  10. POST数据中有特殊符号导致数据丢失的解决方法

    使用Ajax传送数据时,当数据中存在加号(+).连接符(&)或者百分号(%)时,服务器端接收数据时会丢失数据.分析Ajax传送数据的格式与Javascript的语法: 1. "+&q ...