空间类网站价格,怎么用wordpress做搜索网站,成都农产品网站建设方案,开厂做哪个网站比较好起因
今天在将一个项目部署到本地#xff0c;想着是先找到一个功能差不多的开源项目#xff0c;再在这基础之上进行改动#xff0c;找到的这个项目使用的MySQL版本是MySQL5.7#xff0c;应该是比较古早的项目了#xff0c;但是我现在装的是8.4版本的#xff0c;所以涉及…起因
今天在将一个项目部署到本地想着是先找到一个功能差不多的开源项目再在这基础之上进行改动找到的这个项目使用的MySQL版本是MySQL5.7应该是比较古早的项目了但是我现在装的是8.4版本的所以涉及MySQL的版本切换这里记录一下操作方法。 如何安全切换版本而不删除原有MySQL
1. 仅停止旧服务保留文件 停止并删除旧服务若之前安装的时候没有自己指定MySQL服务名则默认为MySQL #停止现有的MySQL服务
net stop MySQL
# 确认旧服务不会再用可以选择直接在删除服务
sc delete MySQL注意此操作仅移除服务注册不会删除安装目录如D:\MySQL\mysql-8.4.1-winx64和数据目录默认在ProgramData\MySQL或自定义路径。 为什么需要删除服务 当你在Windows中安装MySQL时系统会注册一个服务如默认的MySQL或MySQL80。若直接安装第二个MySQL实例可能会因服务名冲突导致报错The service already exists!。因此删除旧服务是为了解决服务名冲突问题而不是卸载MySQL。切换版本时只需处理服务注册项保留原有数据和程序文件即可。 2. 添加配置文件my.ini
若安装MySQL的方法为直接下载压缩包的话是没有自带my.ini文件的需要自己新建一个位置为根目录D:\MySQL\mysql-8.4.1-winx64\下具体内容如下。
示例my.ini配置
[mysqld]
#端口号 若有多个mysql端口号应不同
port 3307
#mysql-5.7.43-winx64的路径
basedirD:\MySQL\mysql-5.7.43-winx64 #修改为自己的数据库解压路径
#mysql-5.7.43-winx64的路径\data
datadirD:\MySQL\mysql-5.7.43-winx64\data #修改为自己的数据库存储路径#最大连接数
max_connections200
#编码
character-set-serverutf8
default-storage-engineINNODB
sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[mysql]
#编码
default-character-setutf8 3. 安装新版本时指定独立配置 进入新版本的**bin目录**执行安装命令时需 指定新服务名避免与旧服务冲突如MySQL_New。配置独立端口和数据目录在my.ini中设置不同端口如3307和datadir路径。 mysqld install MySQL_New --defaults-fileD:\新版本路径\my.ini# 例
mysqld install MySQL841 --defaults-fileD:\MySQL\mysql-8.4.1-winx64\my.ini初始化并启动新服务 执行初始化命令之后会得到一个随机生成的密码用于初次连接登录。 # 初始化
mysqld --defaults-fileD:\MySQL\mysql-8.4.4-winx64\my.ini --initialize --console
# 启动
net start MySQL_New连接进入MySQL命令行 # 连接版本端口3307
mysql -uroot -P3307 -p更改密码 将随机密码更改为自己熟悉的密码如123456 ALTER USER rootlocalhost IDENTIFIED BY 新密码;4. 多版本共存与切换 通过不同服务名启动/停止 net start MySQL_New # 启动新版本
net stop MySQL_Old # 停止旧版本通过不同端口连接 mysql -uroot -P3306 -p # 连接旧版本端口3306
mysql -uroot -P3307 -p # 连接新版本端口3307环境变量切换可选 将常用版本的bin目录放在系统变量Path最前面或通过批处理脚本临时切换路径。 注意事项
数据安全 删除服务时切勿误删datadir文件夹包含数据库文件或basedir安装目录。若需彻底卸载才需手动删除这些目录。注册表残留 若后续安装失败检查注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中是否残留旧服务项并手动删除。配置文件隔离 确保新旧版本的my.ini文件独立避免端口或路径冲突。 篇结。