今天下午,游戏正high,小强一个微信告诉我,需要我帮他写个MySQL语句。这种第四代语言,在我们这种不搞数据科学的人手里,也就当成存储服务使用,正儿八经写SQL语句倒是没怎么搞过,用的时候现翻书是常态。Mac上的MySQL已经很久没有用过了。这次挑战一下Windows 10 平台的MySQL 8.0的安装、连接、调试。
之前我说过,在Windows 的.Net平台下,做很多开发还是很舒服的。但是SQL Server 是个例外。安装 SQL Server就是个很困难的事情,中间步骤有很多术语都不明白微软是怎么搞的。好在,我并不经常与数据库打交道。咱们切入正题。
首先说一下答案:MySQL 8.0 在PowerShell里面的表现,与 macOS 下基本一致,除了不能清空屏幕命令行之外,基本没什么区别,都很简洁干练。
1. 官方网址下载 MySQL 8.0
可以到Oracle的网站下载Community版本的最新版 MySQL。网页地址在这里。
懒人下载链接在这里,点击即可下载标准版MySQL 8.0。
以上全部都是 64 位的软件链接。
2. 命令行安装
通过URL下载到的是一个压缩包,解压之后是一个很标准的软件包。含有bin目录(用来存放主要的二进制程序)、docs目录(存放本软件的相关说明)、lib目录(存放许多动态链接库),其他目录我们就不一一介绍了,总之,这是一个很标准的软件目录。
2.1 安装第 1 步
解压文件,移动文件夹至C盘的Program Files文件夹,并重命名为MySQL。
2.2 安装第 2 步
在 MySQL 文件夹下,新建一个名为 my.ini 的文本文件。注意,不要自己更改为其他名字。
在该文件里写入如下内容:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
通过后缀 .ini 我们可以知道,这个文件是一个初始化配置文件。它将会告诉 MySQL 如何设置初始化的数据库。
2.3 安装第 3 步
切换到 MySQL 文件夹的 bin 目录里。在这个目录里打开管理员模式的 PowerShell。启用管理员模式是因为要读写该目录,而所有 Program Files目录下的文件,都只能在管理员模式下读写。
在 PowerShell 里输入如下命令:
.\mysqld.exe install
这一步告诉 Windows 10,要把 MySQL 作为一项服务启动。而 新手可能对 mysqld 这个词语中的最后一个字母 d 不太理解,好好的 MySQL 为什么加一个后缀 d?其实,这个字母d是指 daemon,学过操作系统原理的你,应该知道有一类很特殊的进程叫做 守护进程,其作用就是作为一项服务存在。你因该猜到了,这个后缀 d指的就是守护进程,每次使用 MySQL 之前都要启动这个进程。新手应该逐渐收集这种计算机“黑话”并加以记忆和联想。
2.4 安装第 4 步
在bin目录下继续输入命令
.\mysqld.exe --initialize --console
--initialize 会告诉 MySQL 根据my.ini中的字段,创建一个系统数据库以及初始化数据文件目录,这个地方还会让 MySQL 生成一个随机的 root 用户的密码并输出在屏幕上。一定要看清楚并记住这个密码,否则你无法第一次登录 MySQL,切记!
2.5 安装第 5 步
启动 MySQL 服务。
在bin目录下,继续输入命令:
net startmysql
运行完这个命令,屏幕输出会告诉你 MySQL 服务已经启动了。
2.6 安装第 6 步
将 mysql.exe 的路径写入系统的 PATH 环境变量。Windows的环境变量是通过图形化方式管理的,这与 UNIX 系列系统有很大不同。个人认为 Windows 的管理比较简单,还算不错吧。
写入方法也很简单,在文件管理器的地址栏,输入 控制面板\系统和安全\系统,在弹出界面的左边找到 高级系统设置,进入,单击 环境变量。在弹出的对话框里双击 PATH 哪一行,系统会再弹出一个对话框。选择 新建,输入C:\Program Files\MySQL\bin。
这个路径是你的 MySQL 程序的地址。如果你安装在了其他地方,那就自定义设置。一路确定,并退出。
2.7 尝试打开 MySQL 8.0
重新打开一个 PowerShell窗口,一定要重新打开,否则环境变量不生效。
在新 PowerShell 窗口下输入
mysql -u root -p
这时候会让你输入密码,密码在第 3 步已经详细说了。输入,Enter!顺利的话,你就进入系统了。
重新设置密码:
ALTER USER 'root'@'localhost' identified with mysql_native_password by '';
之后就可以在任意窗口下,通过新的密码登录 MySQL 了。
注意,如果你重启电脑,可能需要重新启动 MySQL 服务才能使用 MySQL,命令如下:
net startmysql
聪明的你一定想到了,关闭 MySQL 服务的语句是
net stop mysql
到此,MySQL 在 Windows 10 上的配置就讲完了。
学习数据科学和计算机后端的同学,要好好学习 MySQL 啊!以后我会写有关写 MySQL 习惯的内容,应为 SQL 语句比较特殊,它不像 Python、C++ 之类的大部分程序可以反复运行调试,所以写起来 debug 需要一些特殊方法。