Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > windows安装两个版本MYSQL

一台电脑(windows系统)安装两个版本MYSQL方法步骤

作者:啥都不会-G

由于新旧项目数据库版本差距太大,编码格式不同,引擎也不同,所以只好装两个数据库,这篇文章主要给大家介绍了关于一台电脑(windows系统)安装两个版本MYSQL的方法步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

一、同一台电脑需要安装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登陆显示正常;

总结

到此这篇关于一台电脑(windows系统)安装两个版本MYSQL的文章就介绍到这了,更多相关windows安装两个版本MYSQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文