1.首先在mysql官网下载windows上的压缩包
2.解压压缩包
3.自己配置一份my.ini文件(mysql8没自带):
[mysqld]
# 设置3306端口
port=3306
# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=E:/tools3/mysql/mysql-8.0.27-winx64
# 自定义设置mysql数据库的数据存放目录
datadir=E:/tools3/mysql/mysql-8.0.27-winx64/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口和默认字符集
port=3306
default-character-set=utf8
4.以管理员身份打开cmd,进入mysql8的bin目录下,执行mysqld --initialize(注意:执行:mysqld --initialize --console 才能看到密码!,如果想重新再来初始化一次,把上一层的data目录删了即可(数据目录))
4.5 成功后执行:mysqld --install(直接执行第5步,我最近试了还不行,这一步必须使用管理员打开cmd。)
5.在执行:net start mysql 启动 ( 2022-08-23 执行此步骤,又遇到一个问题,报错:服务没有响应控制功能。请键入 NET HELPMSG 2186 以获得更多的帮助。解决方案:
访问https://cn.dll-files.com/vcruntime140_1.dll.html,下载VCRUNTIME140_1.DLL最新的版本
下载后将此文件直接放入MySQL的bin子目录下即可。再次运行,mysql就启动了)
大坑:my.ini 里的路径写成了 “ \ ” ,导致第4步死活进行不下去,说目录不存在。最后改成“ / ” 就好了
因为安装时执行了mysqld --initialize,导致初始化密码没拿到(执行: mysqld --initialize --console 会有初始化密码):
1、管理员身份运行cmd,进入 安装 mysql 的 bin 目录
2、 执行命令, net stop mysql (停止 mysql 服务)
3、执行命令,mysqld --shared-memory --skip-grant-tables (进入免密码模式)
4、重新打开一个 cmd,同样是 管理员账号进入 mysql 的bin 目录 (D:\MySQL\mysql-8.0.18-winx64\bin)
5、执行命令,mysql -u root -p,不输入密码,直接登录,会成功登录 mysql
6、执行命令 flush privileges; (刷新权限表,这一步必须操作,我就是没有操作这个步骤,重复了很多次修改都没有成功)
7、执行命令 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
8、执行命令 flush privileges; (必须操作)
9、退出 mysql ,control +Z. (如果 exit 不行的话)。
10、重新管理员命令运行 cmd,进入 mysql 的bin 目录,执行命令, net start mysql (启动 mysql 服务)
11、执行命令 mysql -u root -p,输入新密码,登录mysql 成功
最后navicat无法连接:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';