一台电脑(windows系统)安装两个版本MYSQL方法步骤
作者:啥都不会-G 发布时间:2024-01-19 18:22:21
一、同一台电脑需要安装2个MYSQL,以mysql-5.7.39和mysql-8.0.30为例;
1.下载:https://downloads.mysql.com/archives/community/ 选择相对应版本; 或者点击这里下载
2.下载并解压下相应安装包;
3.先安装mysql-5.7.39,解压后放入相应磁盘,并新建data和uploads文件夹及my.ini文件;
my.ini内容:文件格式为ini,编辑对应路径
[mysqld]
port=3306
character_set_server=utf8
basedir=C:\mysql-5.7.39
datadir=C:\mysql-5.7.39\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table = 1
log_timestamps=SYSTEM
log-error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
log-bin = binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
secure-file-priv=C:\mysql-5.7.39\uploads
[client]
default-character-set=utf8
4.在环境变量-path配置变量:
5.初始化数据库:(管理员身份运行cmd);
切换到 C:\mysql-5.7.39 执行 :mysqld --initialize-insecure
接着进入到 bin下执行安装:mysqld –install MySQL57
启动 MySQL: net start mysql57 或者在任务管理器右击启动;
6.设置登陆密码
使用 mysql -uroot 直接登陆密码;
SET PASSWORD FOR 'root'@'localhost'= "root-pas";
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root-pas' WITH GRANT OPTION;
FLUSH PRIVILEGES;
至此,mysql-5.7.39安装完成。
二、安装mysql-8.0.30(先停止mysql-5.7.39)
1.解压压缩包,新建data,uploads及my.ini (同mysql57步骤)
2.修改my.ini 修改端口为3307,字符集为:character_set_server=utf8mb4;
添加:shared-memory;
3.同样配置环境变量(同上),以管理员身份运行CMD;
切换到 E:\mysql-8.0.30\bin下,执行:
执行:mysqld --defaults-file=E:\mysql-8.0.30\my.ini --initialize --console (记住临时密码)
执行:mysqld install MySQL8
4.修改注册列表路径:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL8 修改路径(默认为第一次安装5.7的路径)
启动mysql8(方法同上)
5. mysql -8.0.30 安装完成,通过临时密码登陆修改;
6.临时密码无法进去,通过无密码进入:my.ini 中[mysqld]下添加 skip-grant-tables 并重启,登陆修改
use mysql ;
输入:update user set authentication_string=‘’ where user=‘root’;
将authentication_string 置空;
修改密码,仍报错;
先刷新一下权限表:mysql> flush privileges;
再次修改密码成功:SET PASSWORD FOR 'root'@'localhost'= "root-pas";
刷新:FLUSH PRIVILEGES;
去掉my.ini中 skip-grant-tables 并重启,通过密码登陆,成功。
===================================================================
安装过程中遇到的问题:
1.安装mysql8时无法启动,重配置环境变量及注册列表路径;再次启动成功,但启动后又自动停止。。。。。
2.查看data 日志,网上提示注释掉#sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,MySQL8没有这个,注释后仍报错。。。。。
3.查看端口是否占用,netstat -ano|findstr 3307 依然没占用;
4.继续百度,管理员身份cmd 到bin下 E:\mysql-8.0.30\bin>mysqld --install 提示成功,
Service successfully installed. 服务没问题;
5.继续执行:mysqld --console 提示报错:
[ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS
解决:在my.ini中 [mysqld] 下添加 shared-memory (如上图),重启服务,正常运行;
# 另一个方法是删除data 文件夹,重新执行命令注册自动生成data (没测试)
6.在一个就是密码无法登陆,需要先刷新权限,再修改密码。
7.在对应的bin目录下登陆mysql,均显示登陆mysql8; 先停止mysql8,登陆上mysql57后再启动mysql8登陆显示正常;
来源:https://blog.csdn.net/g100568999/article/details/128301063


猜你喜欢
- 很多应用多需要处理文件,而处理文件有一个固定的模式:打开文件,读入一些数据,处理这些数据,打印到屏幕上或写入另一个文件。那么,如果我们想修改
- 下面展示了图像的加密和解密过程(左边是输入图像,中间是加密后的结果,右边是解密后的图像):1、加密算法要求(1)加密算法必须是可逆的,拥有配
- 一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt。
- 前言上次写博客还在去年的8月底了,期间有了小宝,换工作等诸多事宜让我踩坑采的起飞,时隔4个月,逐渐找回状态。这篇的主题是python的第三方
- 是否了解线程的同步和异步?线程同步:多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低线程异步:在访问资源时在空闲等待时同时访问其
- Python3.7引入了dataclass。dataclass装饰器可以声明Python类为数据类;数据类适合用来存储数据,一般而言它具有如
- 研究了一段时间酷狗音乐的接口,完美破解了其vip音乐下载方式,想着能更好的追求开源,故写下此篇文章,本文仅供学习参考。虽然没什么
- 随着移动端的用户越来越多,传统的web系统架构无法兼容很多移动终端的正常使用。在工作中也会发现,现在很多的客户都有在手机、平板等移动终端上使
- 使用JavaScript写的一个旋转的彩圈效果图<!DOCTYPE html><html><head>&
- 目录模板基本语法编写主页模板准备虚拟数据渲染主页模板总结在一般的 Web 程序里,访问一个地址通常会返回一个包含各类信息的 HTML 页面。
- 我就废话不多说了,大家还是直接看代码吧~from docx import Documentfrom docx import RTimport
- 在使用Django项目中,From表单提交了图片集合var formdata = new FormData();formdata.appen
- 本文主要介绍了详解python实现可视化的MD5、sha256哈希加密小工具,分享给大家,具体如下:效果图:刚启动的状态输入文本、触发加密按
- 什么是JSON Web Token?JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式
- conftest.py文件特点所有同目录测试文件运行前都会执行conftest.py文件 不需要import导入conftest.py,py
- 上篇更新到pygame实现俄罗斯方块游戏(AI篇2) ,原本应该继续做优化,不过考虑到完成游戏完整性,这张就先把对战做好。一、对战的方块管理
- Scala的环境搭建由于scala是基于java来开发的, 编写的java类可以使用javac命令编译成.class文件被JVM加载到内存中
- 一,简介退火算法不言而喻,就是钢铁在淬炼过程中失温而成稳定态时的过程,热力学上温度(内能)越高原子态越不稳定,而温度有一个向低温区辐射降温的
- 分支结构分支结构是结构化程序设计中的基础。针对分支结构,Go 提供了两种语句形式,一种是 if,另一种是 switch。ifif 语句是 G
- SELECTSELECT 语句用于从表中选取数据,是 SQL 最基本的操作之一。通过 SELECT 查询的结果被存储在一个结果表中(称为结果