一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第20天,点击查看活动详情。
MySQL-8.0.28 安装包下载地址:传送门
首先解压到一个让我们感到舒服的位置,具体什么位置,你喜欢,但请不要奇奇怪怪,比如:「D:/学习资料/日语/」什么奇怪路径。
解压后,我们按照官方的指导,应该建一个 my.ini 文件,用来配置 MySQL 实例,就像下图这样。
根据 MySQL 的官方指导,我们需要配置 MySQL 的安装目录和数据存放目录。下面是官方提供的模板:
[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data
我们要做的很简单,将模板复制到 my.ini 文件,再修改相应的路径即可,如下图所示:
注意正斜杠和反斜杠,使用反斜杠要写两个。
这个时候基本的配置就结束了,看你有没有特殊的需求需要配置,比如:需要开放出去给远程连接、设置启动端口号、设置大小写敏感等等。以忽略大小写为例,我们在
my.ini 中加上下面这一行即可:
# 设置
lower_case_table_names=1
lower_case_table_names是 MySQL 设置大小写是否敏感的一个参数。lower_case_table_names=0表名存储为给定的大小和比较是区分大小写的。lower_case_table_names = 1表名存储在磁盘是小写的,但是比较的时候是不区分大小写。lower_case_table_names=2表名存储为给定的大小写但是比较的时候是小写的。 Linux 环境下lower_case_table_names默认值为 0 ,Windows 下默认值是 1,Mac OS 下默认值是 2。需要注意的是,该值需要在初始化数据库之前设置,初始化后修改会导致服务启动失败,但也不是说修不好,麻烦就是了。
设置完成之后,我们就可以启动服务了。
要初始化数据目录,可以使用 --initialize 或 --initialize-insecure 选项调用 mysqld,具体取决于您是希望服务器为该帐户生成随机初始密码,还是创建该帐户而不使用密码:'root'@'localhost'。我们可以根据自己的需求选择。
-
使用
--initialize进行“默认安全”安装(即,包括生成随机初始密码)。在这种情况下,密码被标记为已过期,您必须选择一个新密码。 -
使用
--initialize-insecure时,不会生成任何密码。这是不安全的;假定您打算在将服务器投入生产使用之前及时为帐户分配密码。
在 MySQL 的安装目录下的 bin 目录,以管理员身份打开终端,运行下面的命令:
$ .\mysqld.exe --initialize
$ .\mysqld.exe --install
如果成功运行,你会得到下图一样的结果:
接着我们就可以启动服务了。
输入以下命令,启动服务:
$ net start mysql
启动服务之后我们就可以直接使用了吗?并不能,前面我们说过,使用 --initialize 参数生成的密码会被标记为已过期,我们必须重新设置一个新密码。
首先我们使用随机生成的密码登入 MySQL:
$ .\mysql.exe -u root -p
此时终端会提示我们输入密码,我们在刚设置的 datadir 路径下,能找到一个错误日志,该密码就在错误日志中,我们复制密码登录即可。如下图所示:
最后一步,修改密码。
成功连接后,我们执行以下命令修改密码:
$ mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
你可以将 123456 替换成任何你想要的数值。
至此,MySQL 就安装完成了,我们可以使用下面的命令控制 MySQL 服务的启动和关闭:
$ net start mysql
$ net stop mysql
至于为什么不注册给 Windows 服务自动管理,废话,我都使用压缩包的形式安装了,如果我要使用 Windows 服务的话,安装版不香吗「手动狗头」。