window安装mysql5.7.25并创建mysql多实例

Step1

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

选择手动下载版本 mysql-5.7.25-winx64.zip

 

 

 

 解压到自己指定的路径

 

 

 

上图中的my.ini及data文件夹在压缩包里是没有的,后面需要自己添加

 

my.ini如下(注意目录路径必须用\\不能用\不然报错),直接copy~

 

[client]
port=3306
default-character-set=utf8

[mysqld]
# 设置为自己MYSQL的安装目录
basedir=C:\\nova_work_software\\mysql-5.7.25-winx64
# 设置为MYSQL的数据目录
datadir=C:\\nova_work_software\\mysql-5.7.25-winx64\\data
port=3306
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
#开启查询缓存
explicit_defaults_for_timestamp=true
skip-grant-tables

 

然后在目录下创建一个data文件夹

 

Step2

设置环境变量

电脑->属性->高级系统属性->环境变量 
在系统变量里的Path中新建(%MYSQL安装目录%\bin)

 

Step3

进入Mysql安装目录下的bin文件夹,在此处以管理员身份打开cmd

执行 mysqld --initialize

 

 

这句命令是为了使data目录下有正常的mysql文件夹和相关文件。

若出现error:Found option without preceding group in config file: D:\Mysql\mysql-5.7.19-winx64\my.ini at line: 1

解决方法是,把my.ini保存为ANSI格式

 

接着依次执行下面命令(管理员模式):

mysqld install 
net start mysql

 

 

 

因为my.ini中加入了skip-grant-tables配置,所以可以直接使用  mysql -u root -p     输入任意密码登录

 

 

然后通过SQL语句修改root用户的密码;

#将数据库切换至mysql库
mysql> USE mysql;
#修改密码
mysql> update user set authentication_string=PASSWORD('123456') where user='root';
#刷新MySQL权限相关的表
mysql> flush privileges;
mysql> exit;

 

修改完密码后,把my.ini中的#skip-grant-tables 注释掉然后net stop mysql和net start mysql重启mysql服务

然后就可以mysql -uroot -p123456登录了

 

登录后执行show databases;

可能会报错  ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 

需要用  alter user user() identified by "123456";  再改一次密码

 

 

创建多实例

将上面的mysql文件夹拷贝到其他地方

更改my.ini内部,三个文件配置

port = 3307

basedir=E:\mysql-5.7.18-winx64

datadir=E:\mysql-5.7.18-winx64\data

mysqld   install   mysql_test  --defaults-file="E:\mysql-5.7.18-winx64\my.ini"

mysqld  --initialize

更改注册表

blob.png

修改
HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services
找到刚才创建的mysql_test,将ImagePath修改成如下":
"E:\mysql-5.7.18-winx64\bin\mysqld" --defaults-file="E:\mysql-5.7.18-winx64\my.ini" mysql_test
net   start mysql_test
 

检查3307端口

 

posted @ 2020-10-15 17:36  坤霸天下  阅读(264)  评论(0编辑  收藏  举报