一、多版本ZIP准备
[ MySQL :: Download MySQL Community Server ] 官网地址
下载好MySQL5及MySQL8的zip压缩包,具体版本自行选择。目前大家电脑大多数是64位,选择64位的安装包下载。
二、解压到指定目录
若以前安装过其中一个版本,尽量放在一个文件夹下方便管理。
三、配置环境变量
加入path变量
MySQL8类似操作。
四、在MYSQL5的解压包下创建MY.INI
my.ini文件中内容(注:如果安装在C盘,可能会存在管理员权限才能修改,无法直接修改该文件下的内容,可以尝试在桌面修改完成后文件复制进去)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3307端口
port = 3307
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\mysql-5.7.44-winx64\mysql-5.7.44-winx64
# 设置mysql数据库的数据的存放目录(自动生成,不然可能报错)
datadir=C:\Program Files\MySQL\mysql-5.7.44-winx64\mysql-5.7.44-winx64\Data
# 允许最大连接数
max_connections=10000
# 允许最大连接人数
max_user_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
# 连接时间一年
wait_timeout=31536000
interactive_timeout=31536000
explicit_defaults_for_timestamp=true
my.ini文件中主要修改端口号、安装目录、数据存放目录。其他可以不修改。端口号一定要两个MySQL不一致。
五、初始化MYSQL5
在管理员身份下运行cmd,进入到bin目录下分别执行以下命令
mysqld --defaults-file=C:\ProgramFiles\MySQL\mysql-5.7.44-winx64\mysql-5.7.44-winx64\my.ini --initialize --console
该命令可能会出现mysqld: [ERROR] Could not open required defaults file: C:\Program
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!的错误,可以尝试使用相对路径
mysqld --defaults-file=..\my.ini --initialize-insecure
若没有错误提示,且生成了Data文件夹表示成功,默认的密码查看路径:
ctrl+F搜索password,记住默认密码,后面需要使用
六、创建MYSQL5服务
一定自定义名字,默认是mysql,会导致名称冲突。
mysqld install MySQL5 --defaults-file=C:\Program Files\MySQL\mysql-5.7.44-winx64\mysql-5.7.44-winx64\my.ini
七、启动服务
net start MySQL5
可能会出现错误:MySQL5服务无法启动。
错误原因是第一个安装的MYSQL环境在cmd命令下输入regedit修改注册表,在\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 找到对应的服务名,修改ImagePath,只用修改路径,路径后的mysqld" MYSQL5不要去掉
再次启动成功。
八、上述步骤错误重试
若上述步骤出现错误,要重新安装,需要注意一下几点:(1)删除刚才初始化my.ini 文件 中指定的datadir 指定的mysqldata中的内容(2)删除创建的MySQL5服务, windows 命令: sc delete 服务名,sc query MYSQ5查询服务。
九、登录并修改密码
注意指定端口号
mysql -uroot -p -P3307
输入刚才的随机密码:
ALTER USER ‘root’@'localhost’IDENTIFIED BY ‘123456’ 这样就把root密码修改了.
十、初始密码忘记怎么办?
删除刚才初始化my.ini 文件 中指定的datadir 指定的mysqldata中的内容,
重新执行上面的操作步骤