1.下载mysql的.zip安装包 https://www.mysql.com/downloads/
将下载的资料复制3份。每份进行如下操作;
2.修改安装目录的.ini文件,如果没有则新建一个my.ini文件,内容如下
[client]
port=3457
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3457
# 设置mysql的安装目录
basedir=D:\mysql-5.7.26-winx642
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.26-winx642\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
skip_grant_tables
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_allowed_packet=314572800
将每份mysql的端口修改,这里我用的是3457,3458,3459三个端口;
3.初始化mysql
初始化安装文件:mysqld --defaults-file=D:\ProgressFiles\mysql-8.0.11\my.ini --initialize --console
初始化mysql服务:mysqld install MySQL --defaults-file="D:\ProgressFiles\mysql-8.0.11\my.ini
以上了两步都要指定对应的ini文件位置,其次就是安装mysql服务的时候,要主要名字不能相同,可以用MySQL、MySQL2、MySQL3等
4.以上步骤执行完毕后,可以用进入控制台登录对应的端口的mysql
如:mysql -u root -p --port=3457
由于在配置文件里面设置了跳过检验,这里输入后直接enter建即可登录,不用输入密码;
执行命令:update mysql.user set authentication_string=password('新密码') where user='root' and Host ='localhost';
停止mysql服务,将配置文件的skip_grant_tables注释掉
5.重新登录mysql,执行show databases 报错
再次执行:SET PASSWORD = PASSWORD('新密码');
show databases解决问题:
6.最高权限的账号只让内网可以访问即可,给一个子账号赋值所有权限,让其可以访问:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'hhh@123' with GRANT OPTION;
以后的账号都用admin进行登录即可;
7.将其余两个MySQL服务做同样的操作,即可做到mysql多个服务安装