1.下载
从官网下载installer
然后开始选择要安装的组件
安装了很久进度都是0,无奈点击show detail以后发现,webclient异常,最后是将链接地址复制到迅雷才成功下载的
等迅雷下载完成以后,会看到有如下2个新msi文件
msi都是windows的程序安装文件,点击红色箭头的文件,就开始下载mysql-server了
2.启动
等mysql-server下载完成以后,以为马上可以开始用了,谁知道netstat -ano | findstr :3306没有任何输出,资源监视器里也没有发现3306端口被监听,windows服务管理面板里也没有发现mysql服务,net start mysql直接报错没有mysql服务
百度了一下,发现还得自己手动启动,找到一篇教程
https://blog.csdn.net/King_wq_2020/article/details/118046740
还得自己写一个my.ini文件,然后执行:
mysqld -install
这个命令其实是将mysql注册为windows服务,然后执行
mysqld --initialize-insecure --user=mysql
这个命令会根据my.ini文件创建data文件夹,然后执行
mysql -u root -p
然后发现:
根本连接不上,第一次还以为密码不对(在网上搜的,不用输入任何密码,直接回车),于是用了第二个密码12345,可是还是不对(鬼知道我为什么会以为密码是12345)
这里两次连接不上,其实是因为漏了一步:
net start mysql
执行了这个命令以后发现:
这个时候好慌张啊,mysql服务注册以后却启动不了,于是想要手动启动,看看有什么问题,于是手动输入:
mysqld
却发现什么输入都没有:
我还以为启动成功了,因为没有报错,结果查看windows服务管理器和资源监视器,发现mysql服务仍然没有成功启动,3306端口还是没有被监听。
这个时候,我开始怀疑刚刚那个教程里的my.ini还有什么没有设置,以为它的内容实在是太简单了:
当然我可没有照抄,我还是把basedir和datadir的路径改了的。
于是寻找别的配置文件内容
https://blog.csdn.net/qq_64960245/article/details/131200454
于是找到了一篇教程,将它的配置文件内容复制到我的my.ini:
发现居然还要将\改为\\,修改完毕以后再次执行
mysqld --initialize-insecure --user=mysql
结果发现:
报了好几个错误,第一个的内容是:
2023-09-10T09:20:15.529737Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
又去百度,结果发现了这篇文章:
https://blog.csdn.net/qq_17507161/article/details/102923461
这篇文章说需要在my.ini中添加一个配置项
照做以后再次执行:
mysqld --initialize-insecure --user=mysql
结果发现:
第一个问题确实解决了
但是还有许多问题:
2023-09-10T09:21:31.817531Z 0 [ERROR] Can't find error-message file 'C:\Program Files\MySQL\MySQL Server 5.7\bin\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2023-09-10T09:21:31.819702Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2023-09-10T09:21:31.820797Z 0 [ERROR] Aborting
检索以后在https://www.yzktw.com.cn/post/759959.html发现:
没有配置错误日志文件
不行,刚找到的配置文件的内容还是不行,于是又找到一个:
http://www.taodudu.cc/news/show-175353.html?action=onClick
在这篇文章中,不仅复制了它的配置文件内容,还照搬了它“data目录与安装目录分离”的做法
最后顺利启动
并顺利用空密码连接成功。
然后继续按照第一篇教程的步骤修改root用户的密码:
然后是刷新权限:
继续按照步骤走:
我才知道配置文件里的
skip-grant-tables
是跳过密码校验的意思
然后: