同一台电脑上部署两个解压版的MySQL数据库

  • 1 MySQL下载
  • 1.1 官网地址
  • 1.2 进入下载页面
  • 1.2.1点击下载按钮
  • 1.2.2 下拉页面找到 `MySQL Community (GPL) Downloads »`
  • 1.2.3 找到 `Download Archives`
  • 1.2.4 找到第一项 `MySQL Community Server`
  • 1.2.5 来到下载页面
  • 2 MySQL5.X.X安装
  • 2.1 编写配置文件
  • 2.2 安装MySQL
  • 2.2.1 初始化
  • 2.2.2 安装MySQL服务
  • 2.2.3 查看注册表
  • 2.3 启动运行 MySQL
  • 2.4 登录MySQL
  • 2.5 更改my.ini里设置的跳过密码
  • 3 MySQL8.X.X安装
  • 3.1 编写配置文件
  • 3.2 安装MySQL8
  • 3.2.1 初始化
  • 3.2.2 安装MySQL服务
  • 3.2.3 查看注册表
  • 3.3 启动运行 MySQL8
  • 3.4 登录MySQL8


1 MySQL下载

1.1 官网地址

https://www.mysql.com/cn

1.2 进入下载页面

1.2.1点击下载按钮

mysql user两个root账号 有两个mysql_MySQL

1.2.2 下拉页面找到 MySQL Community (GPL) Downloads »

点击进入

mysql user两个root账号 有两个mysql_Software_02

1.2.3 找到 Download Archives

点击进入

mysql user两个root账号 有两个mysql_mysql_03

1.2.4 找到第一项 MySQL Community Server

点击进入

mysql user两个root账号 有两个mysql_MySQL_04

1.2.5 来到下载页面

选择版本和操作系统后,即可下载。

mysql user两个root账号 有两个mysql_Software_05

2 MySQL5.X.X安装

将免安装版的Mysql解压到希望安装的目录。本次示例选择的目录是:D:\Software\MySQL

2.1 编写配置文件

如果解压后的mysql安装包里有my-default.ini,则复制一份改为my.ini;如果没有my-default.ini则新建一个my.ini文件。

my.ini内容:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3357端口
port = 3357
# 设置mysql的安装目录和数据存放目录
basedir=D:\\Software\\MySQL\\mysql-5.7.37-winx64
datadir=D:\\Software\\MySQL\\mysql-5.7.37-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
 
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

注意:my.ini还需要加跳过密码登录的配置,否则在初次登陆时会报:ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

完整版my.ini

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3357端口
port = 3357
# 设置mysql的安装目录和数据存放目录
basedir=D:\\Software\\MySQL\\mysql-5.7.37-winx64
datadir=D:\\Software\\MySQL\\mysql-5.7.37-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#跳过数据库权限验证 skip the password
skip_grant_tables
 
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

附:
basedir:mysql的安装目录;
datadir:mysql存放数据库的目录。
port:如果只安装一个mysql,port默认就使用3306就好,如果再安装第二个,则port需要更改为其他端口。

2.2 安装MySQL

以管理员身份运行cmd,进入MySQL的bin目录下。

2.2.1 初始化

输入mysqld --initialize-insecure --user=mysql回车,此时在MySQL根目录下会生成一个data文件夹。

2.2.2 安装MySQL服务

1、如果是只安装一个mysql,直接执行mysqld install即可;
2、如果是安装两个以上的mysql,执行mysqld install MySQL57 --defaults-file="D:\Software\MySQL\mysql-5.7.37-winx64\my.ini"(示例);

MySQL57可改为任意名称,它是安装后的MySQL服务名;
defaults-file=“my.ini的存放目录”。

2.2.3 查看注册表

1、运行——regedit打开注册表,到HKEY_LOCAL_MACHINE–>SYSTEM–>CurrentControlSet–>Services 下找到mysql名称的注册表。
2、查看mysqld.exe文件和my.ini文件是否是本次安装mysql时的文件,如果不是一定要修改,不然在启动mysql服务时会报错,并且无法成功启动。

mysql user两个root账号 有两个mysql_mysql_06

2.3 启动运行 MySQL

注意:
1、MySQL57是安装mysql数据库时的mysql服务名称,如果安装mysql时的mysql服务名称不是mysql,比如二、7.(2)安装时设置的服务名称是MySQL57,那么启动服务时就应该执行net start MySQL57

2.4 登录MySQL

1、如果安装mysql时使用的是3306端口,登录的命令:mysql -uroot -p
2、如果安装mysql时使用的是其他端口,登录时的命令:mysql -P端口 -uroot -p
3、这时会提示你输入密码。如果在my.ini里配置了跳过密码验证,则不需要输入,不然就需要打开MySQL根目录下的data文件夹,找到后缀是.err的文件以文本打开找到password临时密码(可以ctrl+f搜索)然后在cmd中输入该临时密码。
4、登陆成功后可修改密码:

set password for 用户名@localhost = password('新密码');

或输入

update mysql.user set authentication_string=password('root') where user='root';

设置数据库密码 适用于mysql 5.7版本。
5、刷新权限

flush privileges;

6、退出MySQL

输入exit

2.5 更改my.ini里设置的跳过密码

先停止MySQL57服务,注释掉skip-grant-tables,然后重启MySQL57服务即可。

附:彻底卸载-解压版 MySQL5.7

3 MySQL8.X.X安装

3.1 编写配置文件

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 设置3380端口
port=3380
# 设置mysql的安装目录
basedir=D:\Software\MySQL\mysql-8.0.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Software\MySQL\mysql-8.0.28-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
authentication_policy=mysql_native_password
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3380
default-character-set=utf8mb4

3.2 安装MySQL8

以管理员身份运行cmd,进入MySQL的bin目录下。

3.2.1 初始化

输入mysqld --initialize回车,此时在MySQL根目录下会生成一个data文件夹。
注意:这个命令不需要附加参数,即不需要指定my.ini配置文件。

3.2.2 安装MySQL服务

1、直接执行mysqld install MySQL80即可;
注意:这个命令不需要附加参数,即不需要指定my.ini配置文件。如果和安装5.7.37时一样指定my.ini,MySQL80服务在安装完毕后,启动时会启动失败,原因未知。

MySQL80可改为任意名称,它是MySQL8安装后的MySQL服务名;

3.2.3 查看注册表

1、运行——regedit打开注册表,到HKEY_LOCAL_MACHINE–>SYSTEM–>CurrentControlSet–>Services 下找到mysql名称的注册表。
2、查看mysqld.exe文件和my.ini文件是否是本次安装mysql时的文件,如果不是一定要修改,不然在启动mysql服务时会报错,并且无法成功启动。

mysql user两个root账号 有两个mysql_mysql_07

3.3 启动运行 MySQL8

注意:
1、MySQL是安装mysql数据库时的mysql服务名称,如果安装mysql时的mysql服务名称不是mysql,比如二、7.(2)安装时设置的服务名称是MySQL80,那么启动服务时就应该执行net start MySQL80

3.4 登录MySQL8

1、如果安装mysql8时使用的是3306端口,登录的命令:mysql -uroot -p
2、如果安装mysql8时使用的是其他端口,登录时的命令:mysql -P端口 -uroot -p
3、到data文件夹下,查找.err类型的文件查看密码。
4、登陆成功后可修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

5、刷新权限

flush privileges;

6、退出MySQL

输入exit