Mac MySQL 数据库配置

1、配置准备工作

  • 1)配置数据库准备工作:下载相关软件

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

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

    • macOS 10.11.6
    • macOS 10.13.3

2、下载安装 MySQL

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

    1
    2
    # 安装 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)查看是否已添加了系统环境变量中

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

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

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

    • 在终端输入以下命令。

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

  • 3)添加系统环境变量

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

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

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

    • macOS 10.12 截图

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

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

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

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

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

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

      1
      2
      3
      4
      5
      6
      7
      8
      9
      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。

      1
      2
      # 退出 MySQL
      > exit

3、修改 root 账户密码

  • 1)登录 MySQL

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

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

      1
      2
      3
      4
      5
      6
      7
      8
      9
      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 添加到系统环境变量。

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

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

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

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

      1
      2
      # 退出 MySQL
      > exit

4、重置 root 账户密码

  • 1)关闭 MySQL Server 服务

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

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

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

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

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

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

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

      1
      2
      3
      4
      [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。

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

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      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 权限。

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

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

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

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

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

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

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

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

5、删除匿名用户

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

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

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

  • 1)匿名登录数据库

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

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

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      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。

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

      1
      2
      3
      4
      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)查看数据库用户

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

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

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

  • 4)删除匿名用户

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

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

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

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

      1
      2
      3
      4
      5
      6
      7
      8
      +------+-----------------------+
      | 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 服务。

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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.*
文章目录
  1. 1. 1、配置准备工作
  2. 2. 2、下载安装 MySQL
    1. 2.1. 2.1 下载 MySQL
    2. 2.2. 2.2 安装 MySQL
    3. 2.3. 2.3 添加系统环境变量
  3. 3. 3、修改 root 账户密码
  4. 4. 4、重置 root 账户密码
  5. 5. 5、删除匿名用户
  6. 6. 6、卸载 MySQL
隐藏目录