在一台服务器上同时安装MySQL 5.6、5.7和8.0等3个版本

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 下载下面三个版本的通用安装包

下载下面三个版本的通用安装包:


https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz


解压到/usr/local目录并创建软连接:


# cd /usr/local
# tar xvf ~/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 
# tar xvf ~/mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz
# tar xvf ~/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
# ln -s mysql-5.7.35-linux-glibc2.12-x86_64 mysql57
# ln -s mysql-5.6.51-linux-glibc2.12-x86_64 mysql56
# ln -s mysql-8.0.27-linux-glibc2.12-x86_64 mysql80

初始化数据:


# yum install -y perl
# yum install -y autoconf
# yum install -y libaio
# mkdir -p /usr/local/mysql80/data
# mysql80/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql80/data
# mysql57/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql57/data
# cd mysql56
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql56/data

5.6初始化需要进入到mysql56目录下进行。

在数据初始化的过程中8.0和5.7会初始生成一个临时密码,5.6生成的是空密码,登录后修改密码。在5.6中修改密码的命令有所不同:


mysql> set password=password('yaoyuan');


编辑一个mysql的配置文件,/etc/my.cnf


[client]
user=root
password=yaoyuan
[mysql]
prompt=(\\u@\\h) [\\d]>\\_
[mysqld_multi]
mysqld     = /usr/local/mysql80/bin/mysqld_safe     #启动时调用的命令
mysqladmin = /usr/local/mysql80/bin/mysqladmin    #关闭时调用的命令 下面需要提供用户和密码
[mysqld56]
mysqladmin = /usr/local/mysql56/bin/mysqladmin # 需要用5.6自己的关机命令
basedir=/usr/local/mysql56
socket     = /tmp/mysql.sock56
port       = 3307
datadir    = /usr/local/mysql56/data
[mysqld57]
basedir=/usr/local/mysql57
socket     = /tmp/mysql.sock57
port       = 3308
datadir    = /usr/local/mysql57/data
[mysqld80]
basedir=/usr/local/mysql80
socket     = /tmp/mysql.sock80
port       = 3309
datadir    = /usr/local/mysql80/data



[mysqld_multi]下面要指定关闭用的用户名和密码,这个用户需要有shutdown的权限。也可以配置到[mysql]下面,如果配置到[mysqld_multi]下面需要把password改成pass,不然无法关机,这里官方文档错了。

MySQL 8.0的关机命令对MySQL 5.6步适用,会出错:


# /usr/local/mysql/bin/mysqladmin  shutdown -S /tmp/mysql.sock56
mysqladmin: shutdown failed; error: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'shutdown' at line 1'


启动或关闭MySQL不同版本的进程,并检查状态:

[root@mysql_g bin]# mysqld_multi start 56,57,80
[root@mysql_g bin]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld56 is running
MySQL server from group: mysqld57 is running
MySQL server from group: mysqld80 is running
[root@mysql_g ~]# ps -ef|grep mysqld
root      3181     1  0 02:49 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql57 --socket=/tmp/mysql.sock57 --port=3308 --datadir=/usr/local/mysql57/data
mysql     3300  3181  0 02:49 pts/1    00:00:01 /usr/local/mysql57/bin/mysqld --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57/lib/plugin --user=mysql --log-error=mysql_g.localdomain.err --pid-file=mysql_g.localdomain.pid --socket=/tmp/mysql.sock57 --port=3308
root      3665     1  0 03:02 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql56 --socket=/tmp/mysql.sock56 --port=3307 --datadir=/usr/local/mysql56/data
mysql     3794  3665  0 03:02 pts/1    00:00:01 /usr/local/mysql56/bin/mysqld --basedir=/usr/local/mysql56 --datadir=/usr/local/mysql56/data --plugin-dir=/usr/local/mysql56/lib/plugin --user=mysql --log-error=mysql_g.localdomain.err --pid-file=mysql_g.localdomain.pid --socket=/tmp/mysql.sock56 --port=3307
root      3851     1  0 03:11 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql80 --socket=/tmp/mysql.sock80 --port=3309 --datadir=/usr/local/mysql80/data
mysql     3970  3851 11 03:11 pts/1    00:00:01 /usr/local/mysql80/bin/mysqld --basedir=/usr/local/mysql80 --datadir=/usr/local/mysql80/data --plugin-dir=/usr/local/mysql80/lib/plugin --user=mysql --log-error=mysql_g.localdomain.err --pid-file=mysql_g.localdomain.pid --socket=/tmp/mysql.sock80 --port=3309
root      4028  2966  0 03:11 pts/1    00:00:00 grep --color=auto mysqld
[root@mysql_g ~]# mysqld_multi stop 57
[root@mysql_g ~]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld56 is running
MySQL server from group: mysqld57 is not running
MySQL server from group: mysqld80 is running



连接进入MySQL 5.6,注意sock端口:

[root@mysql_g bin]# mysql -S /tmp/mysql.sock56 -uroot -pyaoyuan
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.51 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
(root@localhost) [(none)]> select @@version;
+-----------+
| @@version |
+-----------+
| 5.6.51    |
+-----------+
1 row in set (0.00 sec)
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
关系型数据库 MySQL 网络安全
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
这篇文章提供了解决Navicat无法连接腾讯云服务器上MySQL问题的步骤,包括调整防火墙设置、更新MySQL权限和检查远程连接配置。
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
|
4天前
|
存储 关系型数据库 MySQL
2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)
这篇文章提供了2022年最新最详细的MYSQL数据库安装教程,包括下载、安装步骤图解、初始化配置文件创建、登录密码修改注意事项,并分享了作者在安装过程中遇到的常见问题及其解决方法。
2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)
|
3天前
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
28 8
|
1天前
|
关系型数据库 MySQL Java
centos7安装mysql教程及Navicat平替软件
【8月更文挑战第17天】本教程详述CentOS 7上安装MySQL的过程。首先确保移除任何预装的MySQL组件,然后通过wget获取并安装MySQL的YUM源。可以选择安装特定版本如5.7或8.0。安装MySQL服务器后,启动服务并查找初始密码。登录MySQL后应立即更改密码,并可根据需要设置远程访问权限。此外,还推荐使用免费开源的DBeaver作为数据库管理工具,提供了安装步骤以方便管理和操作MySQL数据库。
|
1天前
|
关系型数据库 MySQL Linux
数据类型和运算符(MySQL服务器的安装,MySQL客户端,数据类型,运算符,MySQL的语法规范)
无论是对于初学者还是有经验的开发者,了解MySQL的安装、客户端使用、数据类型、运算符和语法规范都是至关重要的。这不仅有助于高效地管理和查询数据,而且对于设计和实现数据库解决方案来说是基础工作。通过深入学习和实践这些知识,您可以更好地发挥MySQL数据库的强大功能。
8 2
|
1天前
|
关系型数据库 MySQL Linux
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
这篇文章提供了在Linux系统中使用Docker安装Mysql 5.7版本的详细过程和图解,包括安装指定版本、创建实例、启动、使用Navicat连接测试、文件挂载与端口映射、进入容器、配置文件修改以及重新启动容器等步骤。
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
|
4天前
|
机器学习/深度学习 编解码 人工智能
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
随着人工智能、大数据和深度学习等领域的快速发展,GPU服务器的需求日益增长。阿里云的GPU服务器凭借强大的计算能力和灵活的资源配置,成为众多用户的首选。很多用户比较关心gpu云服务器的收费标准与活动价格情况,目前计算型gn6v实例云服务器一周价格为2138.27元/1周起,月付价格为3830.00元/1个月起;计算型gn7i实例云服务器一周价格为1793.30元/1周起,月付价格为3213.99元/1个月起;计算型 gn6i实例云服务器一周价格为942.11元/1周起,月付价格为1694.00元/1个月起。本文为大家整理汇总了gpu云服务器的最新收费标准与活动价格情况,以供参考。
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
|
7天前
|
云安全 弹性计算 安全
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器不仅提供了一些基础防护,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为大家介绍一下阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品。
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
|
6天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
目前企业对云服务器的性能、安全性和AI能力的要求日益提高。阿里云推出的第八代云服务器ECS g8i实例,以其卓越的性能、增强的AI能力和全面的安全防护,除了适用于通用互联网应用和在线音视频应用等场景之外,也广泛应用于AI相关应用。本文将深入解析ECS g8i实例的技术特性、产品优势、适用场景及与同类产品的对比,以供参考。
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
|
19天前
|
弹性计算 运维 搜索推荐
阿里云建站方案参考:云服务器、速成美站、企业官网区别及选择参考
随着数字化转型的浪潮不断推进,越来越多的企业和公司开始将业务迁移到云端,而搭建一个专业、高效的企业官网成为了上云的第一步。企业官网不仅是展示公司形象、产品和服务的重要窗口,更是与客户沟通、传递价值的关键渠道。随着阿里云服务器和建站产品的知名度越来越高,越来越多的用户选择阿里云的产品来搭建自己的官网。本文将深入探讨在阿里云平台上,如何选择最适合自己的建站方案:云服务器建站、云·速成美站还是云·企业官网。
106 13
阿里云建站方案参考:云服务器、速成美站、企业官网区别及选择参考

热门文章

最新文章