1. 多版本zip准备
[ https://dev.mysql.com/downloads/mysql/ ]
官网地址,
MYSQL5.7
2. MYSQL8,
2. 解压到指定目录
3. 配置环境变量
2. 加入Path变量
3. 配置以及初始化,创建服务(MYSQL5)
1.在bin的同级目录下创建my.ini配置文件
2. my.ini 内容:
3. 创建自己指定的目录: 比如上面 的basedir下的mysqlinstall ,和datadir下的mysqldata目录
安装MYSQL
- 在管理员身份下运行cmd,进入到bin目录分别执行以下命令:
mysqld --defaults-file=D:\SoftWareProgram\MySQL\mysql-5.7.26-winx64\my.ini --initialize --console
此命令初始化MYSQL, 并且生成一个root的初始化密码:
记住该密码,等会用于修改密码
- 创建MySQL5服务
mysqld install MySQL5 --defaults-file=D:\SoftWareProgram\MySQL\mysql-5.7.26-winx64\my.ini
出现service successfully installed 说明成功了
启动MySQL5
net start MySQL8
登录并修改密码
mysql -uroot -p -P3307
输入刚才的随机密码:
ALTER USER ‘root’@'localhost’IDENTIFIED BY ‘root’ 这样就把root密码修改了.
初始密码忘记怎么办?
删除刚才初始化my.ini 文件 中指定的datadir 指定的mysqldata中的内容,
重新执行上面的操作步骤
- 如果需要删除MySQL5服务, windows 命令: sc delete 服务名
sc delete MySQL5
安装MySQL8
1. 切换环境变量指定为MySQL8
2. 在Mysql8的解压包下创建my.ini
内容:
注意1 / 2 /3 上面需要自己去创建
初始化mySQL8
在管理员身份下运行cmd,进入到bin目录分别执行以下命令 :
mysqld --defaults-file=D:\SoftWareProgram\MySQL\mysql-8.0.16-winx64\my.ini --initialize --console
记住初始密码,用于修改 密码
创建MySQL8服务
mysqld install MySQL8 --defaults-file=D:\SoftWareProgram\MySQL\mysql-8.0.16-winx64\my.ini
查看注册表避免引用的是第一个安装的MySQL环境
在cmd命令下输入regedit修改注册表,在\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 找到对应的服务名,修改ImagePath
比如 MySQL5 的ImagePath 值: 如下
D:\SoftWareProgram\MySQL\mysql-5.7.26-winx64\bin\mysqld --defaults-file=D:\SoftWareProgram\MySQL\mysql-5.7.26-winx64\my.ini MySQL5
MySQL8的值类似
4.启动MySQL8
net start MySQL8
5. 修改MySQL8的密码
mysql -uroot -p -P3306
是3306可以不指定IP
输入刚才的初始化密码 :
mysql : ALTER USER ‘root’@'localhost’IDENTIFIED BY ‘root’
这样就配置完成了 2个不同版本的服务了, 在使用不同版本的时候, 需要切换一下环境变量的MYSQL_HOME 指向, 其次切换一下启动的MYSQL服务即可
my.ini 详细内容
[mysqld]
# 设置3306端口
port=3307
# 设置mysql的安装目录
basedir=D:\SoftWareProgram\MySQL\mysql-5.7.26-winx64\mysqlinstall
# 设置mysql数据库的数据的存放目录
datadir=D:\SoftWareProgram\MySQL\mysql-5.7.26-winx64\mysqldata
#lc_messages_dir=D:\SoftWareProgram\MySQL\mysql-5.7.26-winx64\share
# 允许最大连接数
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
#开启查询缓存
#explicit_defaults_for_timestamp=true
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8