类似文章很多,但部分问题解决方案并不是很完整,且对细节描述不够清楚,特意总结一篇
在本机已经安装MySQL5.7的情况下新安装MySQL8.x的方案如下(请按照步骤详细操作):
1.进入官网下载
https://dev.mysql.com/downloads/mysql/
2.解压文件到D盘
3.创建 my.ini 文件
内容如下,注意路径就好,需要一提的就是默认MySQL的端口占用在3306,5.7已经占了。我们是新增MySQL8,因此需要一个分配一个新的端口来提供服务。因此分配一个没有占用的3308即可
!注意路径,如果你也是放在D盘根下的话你就复制粘贴我的即可
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
port = 3308
[mysqld]
# 设置3308端口
port = 3308
# 设置mysql的安装目录
basedir=D:\\mysql-8.0.35-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\mysql-8.0.35-winx64\\data
# 允许最大连接数
max_connections=10000
# 允许最大连接人数
max_user_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 连接时间
wait_timeout=31536000
interactive_timeout=31536000
4. 添加环境变量
右击我的电脑->属性->高级系统设置->环境变量->(下面的系统变量)新建变量
- 新建系统变量
输入:
MYSQL8_HOME
D:\mysql-8.0.35-winx64
- 新建PATH
点击新建后弹出来新建框输入: %MYSQL8_HOME%\bin
然后确定,确定,确定
5. 以管理员身份进入MySQL文件路径
- 进入MySQL文件夹
6. 生成data文件夹
进入bin文件夹输入:
mysqld --initialize
7. 安装MySQL80服务
bin目录下继续输入:
mysqld --install MySQL80 --defaults-file=D:\mysql-8.0.35-winx64\my.ini
看到Service successfully installed.
代表服务安装成功
此时你在服务中能看到MySQL80
已经存在
8. 启动MySQL80服务
当前目录继续输入:
net start MySQL80
❗ PS:如果此时开启服务失败,报错: 发生系统错误 1067。 进程意外终止,可以检查注册表中关于MySQL80的 ImagePath
值
- 首先
Win + R
输入:regedit
- 找到MySQL80
注意检查ImagePath
的值如果使用的MySQL5的值需要进行手动修改至你MySQL80的安装位置,把路径换成新版本的地址即可
9. 修改默认密码
- 首先需要找到默认密码
- 进入data文件夹
- 找到xxx.err文件
- 就在前面几行能发现一个root@localhost后面的字符串就是默认的随机密码
接着回到终端输入:
mysql -u root -P 3308 -h localhost -p
然后输入默认的随机密码即可进入MySQL8
输入命令修改密码为 123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
最终实现效果:
PS:要把MySQL8.0作为终端默认MySQL命令的版本,仅需提高环境变量的优先级即可