win10 安装配置双版本mysql (mysql5.7 mysql8.0)
安装
-
前期准备
下载
mysql5.7 需要 vc2013
mysql8.0 需要 vc2015
其他版本的参见该版本的文档
-
目录结构:
-
添加环境变量 (部署多版本mysql就别添加环境变量)
You should not add the MySQL
bin
directory to your WindowsPATH
if you are running multiple MySQL servers on the same machine.非多版本的话吧
bin
目录添加环境变量PATH
中,即可从任何目录下通过命令行启动mysql -
mysql程序文件夹下新建
my.ini
5.7 8.0 不用手动建data文件夹
8.0 有
skip-grant-tables
的话会启动不成功
# mysql 5.7
[mysqld]
basedir=D:\\Environment\\mysql\\mysql-5.7.33\\
datadir=D:\\Environment\\mysql\\mysql-5.7.33\\data\\
port=3316
skip-grant-tables
mysql 8.0 的
my.ini
# mysql 8.0
[mysqld]
basedir=D:\\Environment\\mysql\\mysql-8.0.25\\
datadir=D:\\Environment\\mysql\\mysql-8.0.25\\data\\
port=3317
-
安装mysql服务 (mysqld),并初始化数据库
安装mysql和启动服务等命令都在 管理员模式cmd 下运行
安装参数为
--install-manual
时开机不会自启mysql服务,将该参数替换为--install
会开机自启mysql服务mysql 5.7
D:\Environment\mysql\mysql-5.7.33\bin>mysqld --install-manual mysql57
D:\Environment\mysql\mysql-5.7.33\bin>mysqld --initialize-insecure --user=mysql
mysql 8.0
D:\Environment\mysql\mysql-8.0.25\bin>mysqld --install-manual mysql80
D:\Environment\mysql\mysql-8.0.25\bin>mysqld --initialize-insecure --user=mysql
mysqld --remove mysql57 # 卸载服务
-
启动mysql服务
5.7版本直接启动就行
# 启动mysql服务
net start mysql57
# 停止mysql服务
net stop mysql57
8.0版本可能报错
解决方法去
-
登录数据库
D:\Environment\mysql\mysql-5.7.33\bin>mysql -uroot -p -P3316
# 5.7的my.ini设置了跳过密码,8.0的默认密码为空,直接回车就行
-
修改密码
# 5.7 修改密码
update mysql.user set authentication_string=password("123456") where user='root' and Host='localhost';
# 8.0 修改密码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
# 刷新权限
flush privileges;
5.7 的一个 warning 正常
8.0 的没提示
-
mysql 5.7版本还要将
my.ini
中的skip-grant-tables
再注释掉# skip-grant-tables