当你们考虑项目并发的时候,我在部署环境,当你们在纠结使用ArrayList还是LinkedArrayList的时候,我还是在部署环境。所以啊,技术不止境,我在部环境。
今天这篇文章缕一下在同一台服务器上部署多个MySQL实例的操作过程,就是一篇工作手记,没有高深的内容,希望需要用到的朋友,按照这篇文章操作,能够不踩坑的把实例部署好。
Win下部署多个MySQL数据库实例
我这里安装5.7.17版本,可以到官网下载对应的版本。
如果配置了mysql相关的环境变量,请删除原来的环境变量,再进行安装。
解压之后,目录如下:
MySQL目录
把mysql5.7.17-winx64重命名成mysql5.7.17-3308
切换到解压文件夹
cd softs/mysql5.7.17-3308
找到my-default.ini并重命名配置文件:my-default.ini -> my.ini
配置端口节点:
# prot = .....
prot = 3306
修改端口
如果配置了mysql相关的环境变量,请删除原来的环境变量,再进行安装。
也可以使用快捷键,Win + R,!!注意要以管理员的身份运行命令行窗口
进入到 bin 目录
cd bin
初始化 | 会在数据库的根目录上创建 data 文件夹
mysqld --initialize --console
查看默认密码
默认密码
安装服务 | mysqld --install 服务名称
mysqld --install MySQL5.7-3308
启动服务
.NET start MySQL5.7-3308
注册&启动服务
至此,如果一切正常,其实就是这三步,就安装好了一个MySQL数据库实例。
查看服务
命令行执行:services.msc
查看服务
我们接着测试该数据库的其可用性。
命令行窗口和客户端工具连接都可以。
mysql -uroot -P3308 -p
密码输入在mysqld --initialize --console步骤生成的密码。
默认密码
如果用客户端连接这个时候会有一个警告:Your password has expired. To log in you must change it using a client that supports expired passwords.
翻译过来大概意思就是:“您的密码已过期。要登录,您必须使用支持过期密码的客户端更改它”
解决办法:root权限登录mysql:mysql -uroot -p
登录成功后修改密码:set password=password('root');
重复以上的步骤,保证端口不被占用,不重复就可以了。
这里不再赘述,有问题的可以欢迎加我微信交流。
## 根据端口号找PID
netstat -aon|findstr "3308"
## 查看指定PID的进程
tasklist|findstr "9088"
## 停止服务
net stop MySQL5.7-3306
## 卸载服务(只有在服务停止的时候才能卸载)
mysqld remove MySQL5.7-3306
这篇手记写到这里就结束啦,总之,就是希望大家伙少踩坑,反正我是踩了几个坑: