本次使用的版本是 Server version: 8.0.33 MySQL Community Server
首先去官网下载社区版,比如我用的是mysql-8.0.33-winx64.zip,解压到文件夹:D:\Program Files\mysql-8.0.33-winx64
用管理员身份运行cmd,进到bin目录下:
mysqld -install
mysqld --initialize-insecure
mysqld --initialize
如果有报错先解决报错,可以查看命令行窗口或 data/用户名.err
稍老一点版本(比如8.0.17)用的命令是–initialize–insecure,用户名.err里可能提示类似下面的内容:
[Server] A temporary password is generated for root@localhost: L?c&mPuLo5j9
这个密码是启动mysql之后第一次以root身份登录使用的。
不过当前版本提示的内容是:
[Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
这表示首次登录无需密码了。
随后,在根目录下新建一个配置文件,起名my.ini,内容是:
[mysqld]
basedir=D:\Program Files\mysql-8.0.33-winx64
datadir=D:\Program Files\mysql-8.0.33-winx64\data
port=3306
default-time_zone = '+8:00'
最后一行是设置时区,并不是必须的。
启动MySQL服务:
net start mysql
没有报错的话,使用mysql -u root -p,就可以登录了。进去之后修改root的密码:
set password='xxxx';
最后修改环境变量,在Path中添加一条:
D:\Program Files\mysql-8.0.33-winx64\bin
The service already exists!
The current server installed: D:\mysql-8.0.17-winx64\bin\mysqld MySQL
这个报错是因为之前装过(硬盘坏之前我的确装在这里了,但是现在这里是没东西的。环境变量都删了),卸载的时候没有卸载干净。使用下面这条检查:
sc query mysql
这个命令一般会返回一些信息,即之前安装过的、名为mysql的服务。
SERVICE_NAME: mysql
TYPE : 10 WIN32_OWN_PROCESS
STATE : 1 STOPPED
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
此时只要:
sc delete mysql
然后重装即可。
> mysqld -install
> net start mysql
MySQL 服务正在启动 .
MySQL 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
参考这里:
最详细的解决方法:MySQL服务无法启动。服务没有报告任何错误。端口问题,配置问题。_mysql服务无法启动没有任何错误_掉色的熊猫的博客-CSDN博客
https://blog.csdn.net/weixin_42868605/article/details/119801144
如果不是端口问题,配置文件也没问题,那删掉data文件夹然后重新 mysqld --initialize-insecure 即可。