1. 下载数据库,配置环境变量
因为是安装两个MySQL数据库,端口号要不一样,MySQL默认端口号是3306,建议先配置非默认端口号,以免出现问题
1.1 官网下载5.7和8.0的压缩包
- 我下载的是
5.7.23
和
8.0.23
1.2 解压到目录下
-
将压缩包解压到你要安装的目录,我这里是放到
D:\\develop\\MySQL
文件夹下
1.3 配置系统变量
在系统变量中添加
MYSQL5_HOME
和
MYSQL8_HOME
两个变量,变量值就是你的解压路径,然后在Path中将这两个的
bin
添加进去,完成后保存即可
2. 安装MySQL8.0
2.1 创建配置文件
在根目录下创建
my.ini
的文件,文件的编码要是ANSI,然后再编辑配置文件保存
[mysql]# 设置 mysql 客户端默认字符集default-character-set=utf8[mysqld]#设置端口port = 3307# 设置 mysql 的安装目录basedir=D:\\develop\\MySQL\\mysql-8.0.23-winx64# 设置 mysql 数据库的数据的存放目录datadir=D:\\develop\\MySQL\\mysql-8.0.23-winx64\\data# 允许最大连接数max_connections=10000# 允许最大连接人数max_user_connections=1000# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎#default-storage-engine=MyISAMdefault-storage-engine=InnoDB# 连接时间wait_timeout=31536000interactive_timeout=31536000
2.2 初始化MySQL
确保根目录下没有data文件夹,如果有,就先删除,然后cmd进入到bin目录下
执行
mysqld --initialize
- 如果执行
mysqld --initialize-insecure
,则创建的root默认没有密码
完成初始化,自动在根目录下创建一个data文件夹
此时,mysql的root用户密码默认是空的,如果你没有加上
-insecure
,则会分配随机密码,密码在data目录下的
xxx.err
文件里:
由于我的默认空密码,所以没有显示,否则会在这末尾有显示
2.3 安装MySQL服务
在命令行中输入
mysqld --install MYSQL80
(MYSQL80是服务名称,可以自定义,必须要加上,因为默认的是MYSQL,如果不加,两个数据库就会冲突了)
2.4 开启MySQL服务
在命令行中输入
net start MYSQL80
开启MySQL8.0服务
如果输入命令后ad8提示无法开启,如图:
应该是服务配置有问题,打开系统的服务配置,找到MYSQL80
右击查看属性,很明显,这路径错了(应该是以前安装过MySQL,没删除干净,导致缓存)
不过没关系,我们可以手动修改
成功启动!
2.5 修改初始化密码
命令行输入
mysql -u root -P 3307 -p
(-P是代表端口号,-p代表密码,-u代表用户)进入MySQL,由于我没有密码,所以直接回车进入,如果有密码,将生成的密码填入即可
然后修改密码,输入
ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'123456\';
最后刷新权限,输入
flush privileges
到此,MySQL8就安装成功了
3. 安装MySQL5.7
同理,和安装MySQL8.0基本是一样的,只是有一些细微差别
3.1 端口号要不同
MySQL5.7对于我来说比较常用,所以我将它设置为3306默认端口号,同时路径也要修改
[mysql]# 设置 mysql 客户端默认字符集default-character-set=utf8[mysqld]#设置端口port = 3306# 设置 mysql 的安装目录basedir=D:\\develop\\MySQL\\mysql-5.7.23-winx64# 设置 mysql 数据库的数据的存放目录datadir=D:\\develop\\MySQL\\mysql-5.7.23-winx64\\data# 允许最大连接数max_connections=10000# 允许最大连接人数max_user_connections=1000# 服务11c7端使用的字符集默认为 8 比特编码的 latin1 字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎#default-storage-engine=MyISAMdefault-storage-engine=InnoDB# 连接时间wait_timeout=31536000interactive_timeout=31536000