(转)windows下同时安装mysql8.0和mysql5.7

时间:2022-01-13 01:22:02

转:https://www.cnblogs.com/trnanks/p/11662478.html

需求:在windows下安装多个不同版本的MySQL

一、准备工作

下载MySQL安装包,可一下载msi安装版本(有图形界面,点击自动配置),也可以下载zip压缩版本(需要自己配置)。我的情况是MySQL8.0是用图形界面安装好的,这里使用压缩版本安装MySQL5.7。

MySQL8.0官方下载地址:https://dev.mysql.com/downloads/mysql/

(转)windows下同时安装mysql8.0和mysql5.7

MySQL5.7官方下载地址:https://dev.mysql.com/downloads/mysql/

(转)windows下同时安装mysql8.0和mysql5.7

 

二、注意事项

  1.为了避免发生各种奇怪的问题,路径最好全用英文。

  2.路径在文件种写的时候要么用 \ ,要么用 / 。

  3.清除之前配置过的MySQL Path环境变量。(虽然大家都知道环境变量就是在cmd输入命令时,先在配置环境变量的目录下查找执行命令。但是我还是被这个坑了,之前用MySQL8.0的时候配置了环境变量,现在安装MySQL5.7虽然工作目录已经切换到了当前5.7的安装目录,输入命令mysqld仍然使用的是8.0的exe)。(cmd执行命令时,先查找环境变量目录,再查找当前目录。)

 

三、安装过程

  1.将下载好的mysql-5.7.27-winx64.zip解压到本地。

  2.以管理员身份打开一个cmd窗口(不是管理员身份,后面创建服务的时候会被拒绝)。

  3.切换工作目录到bin目录下。

  4.执行命令 mysqld --initialize --console 其中--console可选项表示将输出打印到屏幕上,否则再data目录下的.err文件中查看。(初始化需要一段时间,不要心急)

(转)windows下同时安装mysql8.0和mysql5.7

 这里显示的警告可以使用创建my.ini配置文件进行相应的配置,这段话种最重要的就是随机生成的初始密码需要先记一下。

  5.创建服务 mysqld --install MySQL57 其中“MySQL57”是自己定义的。

(转)windows下同时安装mysql8.0和mysql5.7

  6.启动服务, net start MySQL57 。或者使用WIN键 R,输入services.msc,使用图形界面开启服务。

(转)windows下同时安装mysql8.0和mysql5.7

很多人都是最后一步启动不起来,原因注意事项里已经说明,先清除之前的MySQL环境变量再进行安装。

如果还不行,也可以手动启动:在cmd界面上,输入如下指令:

  mysqld --defaults-file="D:Program Filesmysql-5.6.12-winx64my.ini"

  我的my.ini文件内容:

# MySQL Server Instance Configuration File 
[client] 
# 设置mysql客户端默认字符集 
default-character-set=utf8 
[mysqld] 
#设置3306端口 
port=3307 
# 设置mysql的安装目录 
basedir ="D:\environment\mysql-5.7.23-winx64" 
# 设置mysql数据库的数据的存放目录 
datadir ="D:\environment\mysql-5.7.23-winx64\data" 
tmpdir ="D:\environment\mysql-5.7.23-winx64\data"
socket="D:\environment\mysql-5.7.23-winx64\data\mysql.sock" 
log-error="D:\environment\mysql-5.7.23-winx64\data\mysql_error.log" 
# 设置mysql服务端默认字符集 
character-set-server=utf8 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB 
default-tmp-storage-engine=INNODB 
#server_id = 2 
#skip-locking 
# 允许最大连接数 
max_connections=1000 
table_open_cache=256 
query_cache_size=32M 
tmp_table_size=32M 
thread_cache_size=8 
innodb_data_home_dir="D:\environment\mysql-5.7.23-winx64\data\" 
innodb_flush_log_at_trx_commit =1 
innodb_log_buffer_size=128M 
innodb_buffer_pool_size=128M 
innodb_log_file_size=10M 
innodb_thread_concurrency=16 
innodb-autoextend-increment=1000 
join_buffer_size = 128M 
sort_buffer_size = 32M 
read_rnd_buffer_size = 32M 
max_allowed_packet = 32M 
explicit_defaults_for_timestamp=true 
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
skip-grant-tables 
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

  7.测试是否安装成功, mysql -u root -p ,然后输入密码。

(转)windows下同时安装mysql8.0和mysql5.7

 

四、常见问题

1.还能用到的几个命令

# 删除服务
sc delete MySQL57

# 安装时创建空密码root用户
mysqld --initialize-insecure --user=mysql

2.修改mysql密码

mysqladmin -u root -p password 新密码    #按下回车
Enter password: 旧密码

 

过程中遇到的错误:

服务没开导致>> ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)

没有真正的初始化>> MySQL服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助