前言
- MySQL 关系型数据库管理系统。
1、配置准备工作
- 1)配置数据库准备工作
- 下载相关软件
- mysql-5.7.21-1-macos10.13-x86_64.dmg
- mysql-workbench-community-6.3.10-macos-x86_64.dmg
- Oracle 官网
- MySQL 官网
- MySQL Reference Manual
- MySQL v5.7.21 for Mac下载地址,密码:v6j7。
- MySQL v5.7.23 for Mac下载地址,密码:jw5a。
- 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.*
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.*